- ベストアンサー
セルの移動、貼り付けの繰り返し
- Excel2003を使用して、データが入った各行の日付の下に3行挿入し、値を切り取って貼り付けたいです。VBAを使って一括で処理したいですが、やり方がわかりません。初心者なので助けてください。
- Excel2003でA列からC列までのデータが入った各行の日付の下に3行挿入し、値を移動して貼り付けたいです。手作業では時間がかかるので、VBAを使って効率化したいです。初心者なので具体的なコードがわかりません。教えてください。
- Excel2003のA列からC列までの各行には必ずデータがあり、日付の下には3行空行を挿入したいです。また、B列の値をA列に移動し、C列の値をA列に移動した後は、空行にしたいです。手作業では面倒なので、VBAを使って一括処理したいです。初心者なのでコードがわかりません。お助けください。
- みんなの回答 (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
その他の回答 (1)
マクロを使用しない別解 Sheet2!A1: =IF(MOD(ROW(),4),OFFSET(Sheet1!A$1,(ROW()-1)/4,MOD((ROW()-1),4)),"") このセルを必要な行数だけ下方にズズーッとドラッグ&ペースト
お礼
一番早いご回答ありがとうございました。結局はtom04さんのコードで出来ました。 今後もよろしくお願いします。
お礼
できました。 初心者だからといっても、もう少し勉強してから質問しないといけないのに、ご丁寧なご回答ありがとうございました。 非常に助かりました。