次の手順を自動化しようとしています。Excel データの 1 行から、各セルの値をコピーして、図に示すように列ごとにずらしながら別々の行に貼り付けたいと思います。この手順を実行できる VBA マクロ コードはありますか? よろしくお願いします。
答え1
Offset と呼ばれる VBA 関数があります。行 1 のセルをループしながら変数を増分し、それを使用して各値の Offset を制御します。
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