VBA FOR嵌套

来源:百度知道 编辑:UC知道 时间:2024/09/22 19:44:19
For d = 3 To 8 Step 3
For e = 2 To 3
Cells(1, e) = Cells(d, 4)
Next e
Next d
怎么让这段程序中的e和d同时变化?(d=3时e=2,d=6时e=3)
我只是把程序变简单了传上来的,实际应用中就是想让这两个变量同时变

=========================================
但现在两个变量不都只有两个值么?

想同时变就不能放在两个For循环中,For循环嵌套始终都是不同步的,外循环每执行一次,内循环都要完整地循环一下。
你只能是找到d与e变化的联系,用同一个变量将它们关联起来。就如楼上给的方法,e的步进值是1,而d的步进值是3,所以只要把e和d各自的初始值定好,就可以用一个变量i关联,并且只用这个公共变量来循环。

就你的例子而言:
定义初始值
e=2
d=3

循环
for i = 0 to 1
cells(1, e + i)=cells(d + 3 * i, 4)
next i

for i = 1 to 2
cells(1,i+1)=cells(3i,4)
next i

这样不就行了吗?想那么复杂做什么?
=========================================
同时变的前提是这两个FOR的STEP必须一样,像你这样,一个是1,一个是3,就不行了。