プロが教える店舗&オフィスのセキュリティ対策術

前回と同じ質問ですが、説明が足りなかったので画像を添付いたしました。

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

「【VBA】コピー&複数個所のペースト繰り」の質問画像

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/03/30 15:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています