• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルの移動、貼り付けの繰り返し)

セルの移動、貼り付けの繰り返し

このQ&Aのポイント
  • Excel2003を使用して、データが入った各行の日付の下に3行挿入し、値を切り取って貼り付けたいです。VBAを使って一括で処理したいですが、やり方がわかりません。初心者なので助けてください。
  • Excel2003でA列からC列までのデータが入った各行の日付の下に3行挿入し、値を移動して貼り付けたいです。手作業では時間がかかるので、VBAを使って効率化したいです。初心者なので具体的なコードがわかりません。教えてください。
  • Excel2003のA列からC列までの各行には必ずデータがあり、日付の下には3行空行を挿入したいです。また、B列の値をA列に移動し、C列の値をA列に移動した後は、空行にしたいです。手作業では面倒なので、VBAを使って一括処理したいです。初心者なのでコードがわかりません。お助けください。

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

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

こんにちは! 関数でもできそうですが、VBAをご希望だというコトですので・・・ 一例です。 Sheet1のデータをSheet2に表示するようにしてみました。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub Sample1() 'この行から Dim i As Long, cnt As Long, wS1 As Worksheet, ws2 As Worksheet Set wS1 = Worksheets("Sheet1") Set ws2 = Worksheets("Sheet2") Application.ScreenUpdating = False ws2.Cells.Clear For i = 1 To wS1.Cells(Rows.Count, 1).End(xlUp).Row cnt = cnt + 1 wS1.Cells(i, 1).Resize(1, 3).Copy ws2.Activate ws2.Cells((cnt - 1) * 4 + 1, 1).Select Selection.PasteSpecial Paste:=xlAll, Transpose:=True Next i Application.ScreenUpdating = True End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

yanohara
質問者

お礼

できました。 初心者だからといっても、もう少し勉強してから質問しないといけないのに、ご丁寧なご回答ありがとうございました。 非常に助かりました。

その他の回答 (1)

noname#204879
noname#204879
回答No.1

マクロを使用しない別解 Sheet2!A1: =IF(MOD(ROW(),4),OFFSET(Sheet1!A$1,(ROW()-1)/4,MOD((ROW()-1),4)),"") このセルを必要な行数だけ下方にズズーッとドラッグ&ペースト

yanohara
質問者

お礼

一番早いご回答ありがとうございました。結局はtom04さんのコードで出来ました。 今後もよろしくお願いします。

関連するQ&A