Copie e cole uma linha de dados em linhas separadas e colunas escalonadas usando a macro Excel VBA

Copie e cole uma linha de dados em linhas separadas e colunas escalonadas usando a macro Excel VBA

Estou tentando automatizar a etapa seguinte. A partir de uma única linha de dados do Excel, gostaria de copiar e colar cada valor de célula em linhas separadas, mas escalonadas por colunas, conforme mostrado na imagem. Existe um código de macro VBA capaz de executar esta etapa? Desde já, obrigado!

captura de tela da saída pretendida

Responder1

Existe uma função VBA chamada Offset. À medida que você percorre as células na linha 1, incremente uma variável e use-a para controlar o deslocamento de cada valor.

Option Explicit

Sub staggerRows()

    Dim i As Long, rng As Range

    With Worksheets("sheet1")

        For Each rng In .Range(.Cells(1, "B"), .Cells(1, .Columns.Count).End(xlToLeft))

            i = i + 1
            rng.Offset(i, 0) = rng.Value2

        Next rng

    End With

End Sub

informação relacionada