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!
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