Como converter uma linha de dados em várias linhas no Excel

1

Como faço para obter uma linha de dados no Excel e dividi-la em várias linhas?

Dada essa entrada:

Name      Award Type 1     Amount 1     Award Type 2    Amount 2
Dan       Top Performer    $5,000       Top Region      $10,000 
Kathy     Rep Planmaker    $2,500

Eu quero convertê-lo para isso:

Name      Award Type       Amount
Dan       Top Performer    $5,000
Dan       Top Region       $10,000
Kathy     Rep Planmaker    $2,500

Em palavras: como a linha "Dan" nos dados de entrada mostra dois prêmios - um nas colunas B & C e outro nas colunas D & E - eu quero dividir os dados de Dan em duas linhas, uma para cada prêmio. / p>     

por yenly 30.07.2012 / 17:35

1 resposta

1

Sub convert()
    Dim intcount As Integer
    intcount = 1
    For i = 2 To **123**
        For j = 0 To 1
            If ThisWorkbook.Sheets("sheet1").Cells(i, 1 + 2 * j).Value <> vbNullString Then
                intcount = intcount + 1
                ThisWorkbook.Sheets("sheet1").Cells(i, 1).Copy Destination:=ThisWorkbook.Sheets("sheet2").Cells(intcount, 1)
                ThisWorkbook.Sheets("sheet1").Cells(i, 2 + 2 * j).Copy Destination:=ThisWorkbook.Sheets("sheet2").Cells(intcount, 2)
                ThisWorkbook.Sheets("sheet1").Cells(i, 3 + 2 * j).Copy Destination:=ThisWorkbook.Sheets("sheet2").Cells(intcount, 3)
            End If
        Next
    Next
End Sub
    
por 09.08.2015 / 06:21