Copie y pegue una fila de datos en filas separadas y columnas escalonadas usando la macro Excel VBA

Copie y pegue una fila de datos en filas separadas y columnas escalonadas usando la macro Excel VBA

Estoy intentando automatizar el siguiente paso. A partir de una sola fila de datos de Excel, me gustaría copiar y pegar cada valor de celda en filas separadas, pero escalonadas por columnas, como se muestra en la imagen. ¿Existe un código de macro VBA que pueda realizar este paso? ¡Gracias de antemano!

captura de pantalla del resultado previsto

Respuesta1

Hay una función de VBA llamada Offset. A medida que recorre las celdas de la fila 1, incremente una variable y úsela para controlar el desplazamiento 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

información relacionada