以下のような、A列にx,y,z,(以下続く)と続くデータがあるとします。
x
y
z
...
上記のようなデータを、x,x,x,y,y,y,z,z,z,(以下続く)として、
どこかへ表示したいと思います。
x
x
x
y
y
y
z
z
z
...
おそらくExcelのマクロを使えばできると思うのですが、
一度も使ったことがないので、
ご教示いただければ助かります。
よろしくお願いいたします。
表示するのは同じシートでしょうか。
表示を開始する位置を選択した状態で下記を実行してみてください。
シートタブを右クリックして「コードの表示」で表示された右上のウィンドウに下記をコピーし、
EXCEL に戻って、データを記載したい先頭位置を選択した状態で、Alt+F8 で Copy3 を選択し
実行です。
Sub Copy3() Dim lastRow As Long lastRow = Range("A" & Rows.Count).End(xlUp).Row If CLng(lastRow / 3) > Rows.Count Then lastRow = CLng(Rows.Count / 3) End If Dim dstRange As Range For i = 1 To lastRow Selection.Offset(3 * i - 3).Resize(3, 1) = Cells(i, "A").Value Next End Sub
対象を別シートにしたい等であれば、コメントで対応しますので有効にしてください。
蛇足ですが、今回の例を計算式でやるなら例えばB1に
=INDIRECT(ADDRESS((2+ROW())/3,1))
と書き、B2以降にコピーでも同じ結果になります。
ご回答ありがとうございます。
完璧です。
>対象を別シートにしたい等であれば、コメントで対応しますので有効にしてください。
本当にやりたいのは別シートですが、今回はコピペで対応します。
早速のご回答ありがとうございました。