人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelのMacroについて質問です。
以下のような、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のマクロを使えばできると思うのですが、
一度も使ったことがないので、
ご教示いただければ助かります。

よろしくお願いいたします。

●質問者: holysheng
●カテゴリ:コンピュータ
✍キーワード:Excel データ マクロ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●100ポイント ベストアンサー

表示するのは同じシートでしょうか。


表示を開始する位置を選択した状態で下記を実行してみてください。

シートタブを右クリックして「コードの表示」で表示された右上のウィンドウに下記をコピーし、

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以降にコピーでも同じ結果になります。

◎質問者からの返答

ご回答ありがとうございます。

完璧です。

>対象を別シートにしたい等であれば、コメントで対応しますので有効にしてください。

本当にやりたいのは別シートですが、今回はコピペで対応します。

早速のご回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ