Transpor dados em colunas para linhas abaixo

0

Estou trabalhando em um projeto Excel VBA. Eu tenho dados em um arquivo excel como tal (cada alfabeto em cada célula). Eu tenho muitas linhas como tal e cada linha terá definitivamente dados nas primeiras 6 células, com um número variável de 2 células cada depois disso.

a b c d e f g h i j

k l m n o p q r s t

Eu quero convertê-lo para tal como:

a b c d e f 
        g h
        i j 
k l m n o p
        q r
        s t

Como faço para transpor os valores?

    
por user3159346 11.01.2014 / 07:12

1 resposta

0

Esta pequena macro extrairá os dados da Planilha1 e os colocará na Planilha2 de maneira reorganizada:

Sub DataReOrganizer()
    Dim s1 As Worksheet, s2 As Worksheet
    Set s1 = Sheets("Sheet1")
    Set s2 = Sheets("Sheet2")
    Dim r1 As Long, r2 As Long, c1 As Long
    Dim N1 As Long
    N1 = Cells(Rows.Count, 1).End(xlUp).Row
    r1 = 1
    r2 = 1
    c1 = 7
    For i = 1 To N1
        s1.Range("A" & r1 & ":F" & r1).Copy s2.Range("A" & r2)
        r2 = r2 + 1
        While s1.Cells(r1, c1) <> ""
            s1.Range(s1.Cells(r1, c1), s1.Cells(r1, c1 + 1)).Copy s2.Range("G" & r2)
            c1 = c1 + 2
            r2 = r2 + 1
        Wend
        r1 = r1 + 1
        c1 = 7
    Next i
End Sub
    
por 11.01.2014 / 16:29

Tags