Estou precisando de uma ajuda. Tenho uma base de dados onde as 5 primeiras colunas são identificadores que se repetem para o mesmo usuário e nesse caso preciso copiar apenas uma vez a cada 35 linhas. Além disso, tenho que transpor a coluna 'nota' para linhas com padrão de repetição a cada 35 linhas. Um exemplo da base:
For i = 2 To lUltimaLinhaAtiva
If Planilha1.Cells(i, 1).Value Mod 36 = 0 Then
Planilha1.Range("B" & i & ":F" & i).Copy
Planilha2.Range("A" & lLinha).PasteSpecial xlPasteAll
lLinha = lLinha + 1
End If
Next i
Pergunta
Maicon Basso dos Santos
Boa tarde, pessoal. Tudo bem?
Estou precisando de uma ajuda. Tenho uma base de dados onde as 5 primeiras colunas são identificadores que se repetem para o mesmo usuário e nesse caso preciso copiar apenas uma vez a cada 35 linhas. Além disso, tenho que transpor a coluna 'nota' para linhas com padrão de repetição a cada 35 linhas. Um exemplo da base:
_______________________________________________________________________
Olhando alguns vídeos eu cheguei em duas macro, mas não funcionaram direito quando utilizadas independentemente:
Public Sub lsCopiarColarLoop()
On Error GoTo Sair
Application.ScreenUpdating = False
Dim lUltimaLinhaAtiva As Long
Dim i As Long
Dim lLinha As Long
Planilha2.Range("1:2000").Clear
lUltimaLinhaAtiva = Planilha1.Cells(Planilha1.Rows.Count, 1).End(xlUp).Row
lLinha = 2
For i = 2 To lUltimaLinhaAtiva
If Planilha1.Cells(i, 1).Value Mod 36 = 0 Then
Planilha1.Range("B" & i & ":F" & i).Copy
Planilha2.Range("A" & lLinha).PasteSpecial xlPasteAll
lLinha = lLinha + 1
End If
Next i
MsgBox "Processo concluído"
Sair:
Application.ScreenUpdating = True
End Sub
_______
Sub transforma_coluna_matriz()
cont = 2
For lin = 2 To 71
For col = 2 To 36
Cells(lin, col + 9) = Cells(cont, 7).Value
cont = cont + 1
Next col
Next lin
End Sub
Se alguém conseguir me ajuda, agradeço!
Abraço!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.