Ir para conteúdo
Fórum Script Brasil
  • 0

Cópia de linhas e transposição de dados com padrões de repetição


Maicon Basso dos Santos

Pergunta

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!

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...