For Next構文を使ったVBA
こんにちは、VBAについて質問をさせてください!(>_<)
同じブックにシート「テスト」と「Sheet1」があり、「テスト」にはデータの入力欄、「Sheet1」には「テスト」に入力するためのデータが入っています。「テスト」の入力欄は「Sheet1」のデータの並び順と同じですが、入力したデータ同士に4行3列ずつデータを入力しないセルを作らなくてはなりません。
また、データを入力するセルは「テスト」の5列目8行目=「Sheet1」3列目2行目~「テスト」の20列目8行目=「Sheet1」8列目2行目のように、まず列番号を増やし、列番号が最大になったら行番号が増え、列番号はまた初期値から増えます。したがって、次は「テスト」の5列目9行目=「Sheet1」の3列目3行目~「テスト」の20列目9行目=「Sheet1」の8列目3行目になります。
上記を踏まえてVBAを作成してみたのですが、このままではi,j,k,l全ての値がNextで増えてしまいます。Ifを使ったりするのかと色々ネットで調べて考えてみましたが、行き詰まってしまいました。どなたかご教授いただけるととても嬉しいです。説明が長く申し訳ないです、わかりづらければ補足させていただくので、おっしゃってください!
Dim i, j, k, l As Integer
For i = 5 To 20 Step 3 'シート「テスト」の列
For j = 8 To 116 Step 4 'シート「テスト」の行
For k = 3 To 8 'シート「Sheet1」の列
For l = 2 To 39 'シート「Sheet1」の行
Cells(j, i).Value = Sheets("Sheet1").Cells(l, k).Value
Next l
Next k
Next j
Next i