双重循环在VBA中

我试图运行这个循环中的循环索引在同一时间更改。

For i = 0 To 20 Step 5 For j = 0 To 5 Step 1 Range(ActiveCell, ActiveCell.Offset(5 + i, 0)).Copy Destination:=Cells(8, 12 + j) Next i Next j 

我试图让循环来做到这一点

 Range(ActiveCell, ActiveCell.Offset(5 + 0, 0)).Copy Destination:=Cells(8, 12 + 0) Range(ActiveCell, ActiveCell.Offset(5 + 5, 0)).Copy Destination:=Cells(8, 12 + 1) Range(ActiveCell, ActiveCell.Offset(5 + 10, 0)).Copy Destination:=Cells(8, 12 + 2) Range(ActiveCell, ActiveCell.Offset(5 + 15, 0)).Copy Destination:=Cells(8, 12 + 3) Range(ActiveCell, ActiveCell.Offset(5 + 20, 0)).Copy Destination:=Cells(8, 12 + 4) 

我不得不这样做的循环:

 Range(ActiveCell, ActiveCell.Offset(5 + 0, 0)).Copy Destination:=Cells(8, 12 + 0) Range(ActiveCell, ActiveCell.Offset(5 + 5, 0)).Copy Destination:=Cells(8, 12 + 0) Range(ActiveCell, ActiveCell.Offset(5 + 10, 0)).Copy Destination:=Cells(8, 12 + 0) ... Range(ActiveCell, ActiveCell.Offset(5 + 0, 0)).Copy Destination:=Cells(8, 12 + 1) Range(ActiveCell, ActiveCell.Offset(5 + 5, 0)).Copy Destination:=Cells(8, 12 + 1) 

我想我可以有一个单一的循环,但这并不完全。

 For i = 0 To 20 Step 5 Range(ActiveCell, ActiveCell.Offset(5 + i, 0)).Copy Destination:=Cells(8, 12 + j-4) Next j 

任何人都可以提出任何想法有一个循环的迹象同时在同时更改吗? 谢谢!!

正如你希望他们并行运行,你实际上不需要两个循环。 从另一个计算一个variables:

 For j = 0 To 4 Step 1 i = j * 5 Range(ActiveCell, ActiveCell.Offset(5 + i, 0)).Copy Destination:=Cells(8, 12 + j) Next i 
 for j = 0 to 5 Range(ActiveCell, ActiveCell.Offset(5 + i, 0)).Copy _ Destination:=Cells(8, 12 + j) i = i + 5 next j 

编辑:使我的答案更完整一些:嵌套for循环不“同时工作”。 最内层的for循环会每次迭代,结束,然后下一个循环可以完成它的循环,等等。 你所做的诀窍只是一个控制两个variables的循环。 你可以select你想要放在你的外观(无论是我和手动增加j或其他方式)。