我正在尝试运行此循环,其中循环中的索引同时更改。
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
任何人都可以建议有一个循环,其中指标同时发生变化吗?谢谢!!
答案 0 :(得分:2)
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循环执行每次迭代,结束,然后下一个循环可以完成其循环,依此类推。你正在做的诀窍只是一个控制两个变量的循环。您可以选择要放在外观中的任何一个(i和手动增加j或反过来)。
答案 1 :(得分:2)
如果您希望它们并行运行,您实际上不需要两个循环。计算另一个变量:
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