• ベストアンサー

マクロ リストの項目をセル参照で表示したい

1列もののリストの値を1行目から順番に拾って、別の場所にセル参照で表示するとき、 1行につき、3個表示(1,1),(1,7),(1,13)し、3行分改行してまた、3個表示(4,1),(4,7),(4,13)し、また同じように改行して、という要領で、全部で300個近くを 入力していきたいと思います。リストの数だけを自動で転記させるようにしたいのです。 マクロでの記述を教えていただければと存じます。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 関数ではダメですか? 仮に元データがSheet1にあり、Sheet2のA1セル以降に表示させたい場合は Sheet2のA1セルに =OFFSET(Sheet1!$A$1,(ROW(A1)-1)*3,(COLUMN(A1)-1)*6,1) という数式を入れC1セルまでオートフィルでコピー! そのまま下へコピー!で大丈夫だと思います。 どうしてもVBAでやりたい場合は Sheet2のSheetモジュールにしてみてください。 Sub Sample1() Dim i As Long, cnt As Long Dim wS As Worksheet Set wS = Worksheets("Sheet1") Range("A:C").ClearContents For i = 1 To wS.Cells(Rows.Count, "A").End(xlUp).Row Step 3 cnt = cnt + 1 With Cells(cnt, "A") .Value = wS.Cells(i, 1) .Offset(, 1) = wS.Cells(i, 7) .Offset(, 2) = wS.Cells(i, 13) End With Next i End Sub こんな感じでしょうかね?m(_ _)m

tarokawa20
質問者

お礼

いつもご丁寧なご回答をありがとうございます。 大変助かりました。