• ベストアンサー

【VBA】コピー&複数個所のペースト繰り返し

前回と同じ質問ですが、説明が足りなかったので画像を添付いたしました。 添付画像のように、1つの値をコピーし、別シートの複数個所(同じ列の違う行)へ順次ペーストしたいのですが、貼付けデータやペーストする回数が増えた場合でも対応できるようなVBAを教えてください。 コピペする条件としては、MsgBox関数を使い「コピーするか?」で「はい」を選択すると、任意のセルにデータがコピペされます。 よろしくおねがいいたします。

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

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

こんにちは! お示しの画像では「コピー元シート」のB7以降は最大5名までみたいですので、単純にB7から5行分だけループさせます。 あとは単純に行合わせだけの問題だと思います。 標準モジュールで Sub Sample1() Dim i As Long, k As Long, cnt As Long, wS As Worksheet Set wS = Worksheets("貼付シート") If MsgBox("コピーしますか?", vbYesNo) = vbYes Then With Worksheets("コピー元シート") For i = 7 To 11 cnt = cnt + 1 For k = 9 + (cnt - 1) * 2 To 89 Step 18 wS.Cells(k, "B") = .Cells(i, "B") Next k Next i End With End If End Sub こんな感じではどうでしょうか?m(_ _)m

HNK1001
質問者

お礼

お礼早々にご回答くださり誠にありがとうございます。 ご教示いただいたVBAで動作確認しましたら、希望の結果を得ることができました! 本当にありがとうございました(#^.^#) 私は、for ~to ~stepと代入の計算が苦手なので、とても勉強になります!

関連するQ&A