首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA中的双循环

VBA中的双循环
EN

Stack Overflow用户
提问于 2012-11-07 08:35:36
回答 2查看 3.8K关注 0票数 1

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

代码语言:javascript
复制
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

我正在尝试让循环做到这一点。

代码语言:javascript
复制
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)

不幸的是,我的循环是这样做的:

代码语言:javascript
复制
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)

我想我可以有一个这样的循环:但这并不能完全做到这一点。

代码语言:javascript
复制
For i = 0 To 20 Step 5

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

Next j

有没有人能给出一个同时改变索引的循环的想法呢?谢谢你!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-07 08:50:38

因为你想让它们并行运行,所以你实际上不想要两个循环。从一个变量计算另一个变量:

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2012-11-07 08:39:41

代码语言:javascript
复制
for j = 0 to 5
    Range(ActiveCell, ActiveCell.Offset(5 + i, 0)).Copy _
         Destination:=Cells(8, 12 + j)
    i = i + 5
next j

Edit:让我的答案更完整一点:嵌套的for循环不会“并发工作”。最里面的for循环执行每个迭代,结束,然后下一个循环可以完成它的循环,依此类推。你所做的事情的诀窍是只有一个循环来控制这两个变量。你可以选择你想放在你的外观中的任何一个(或者i和手动递增j或者相反)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13261621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档