双重循环在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或其他方式)。