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:
Aula
Turma
parceiro
Responsável
ID_Usuário
Questões
Nota
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q1
9
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q2
9
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q3
8
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q4
5
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q5
7
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q6
10
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q7
5
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q8
6
Como resolver problemas
Turma DEZ/2015
Escola Sto Antônio
João
1af25afr235as65
Q9
7
_______________________________________________________________________
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!