前提・実現したいこと
VBA マクロです
for next において変数を2つ使用して、2重ループの構成を作成したのですが、うまくいきません
この図の左側(sheet1)をマクロを使って右側(sheet2)のようになればOKです
発生している問題・エラーメッセージ
下のマクロを起動すると上図のような結果になります。
コード自体、どこが間違っているかが全然わかりません。
該当のソースコード
VBA
Sub test() ' ' test Macro ' ' #繰り返しができるようにまず、sheet1のブドウとイチゴを上にあげる Range("C4").Value = Range("C6").Value Range("C5").Value = Range("C7").Value #リンゴはシンプルにコピペ(この方法以外おもいつかない) Range("C1").Select Selection.Copy ActiveSheet.Next.Select Range("E1").Select ActiveSheet.Paste ActiveSheet.Previous.Select #変数作成 Dim i, j As Long For i = 2 To 5 For j = 3 To 9 Step 2 #(2、C)から(5,C)までコピーするループ Cells(i, "C").Select Selection.Copy ActiveSheet.Next.Select #(3、A)から(9,A)まで貼り付けするループ Cells(j, "A").Select ActiveSheet.Paste ActiveSheet.Previous.Select Next j Next i End Sub
試したこと
For i = 2 To 5
を
For i = 2 To 4
にしたところ、
4行目のブドウがコピーされて、ブドウが4つ続きました。
この結果、恐らく「i」が先に繰り返して、
終わった後に、「j」が始まる
という構図になっているとわかりました。
「i」と「j」が同時に始まって、同時に終わるようなマクロを作りたいです。
補足情報(FW/ツールのバージョンなど)
上記以外に容量が少なく、もっとスマートなやり方などあれば、ご教授お願いします。
Excel2013です
コードは「コードの挿入」で記入してください。
回答2件
あなたの回答
tips
プレビュー