永发信息网

VBA中for 与if嵌套后 if不执行的原因

答案:2  悬赏:30  手机版
解决时间 2021-02-08 09:45
  • 提问者网友:缘字诀
  • 2021-02-07 22:46
For x = 3 To Row1
For y = 3 To Row2
If sourcesheet.Range("M" & x) > 7 Then
Worksheets("超时问题单").Range("d" & y) = sourcesheet.Range("M" & x)
Next y
End If
Next j

单步执行,发现if语句直接没有执行是为什么?
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-02-07 23:16
Next y
End If
你不觉得这两句 顺序颠倒了吗
Next j
你不觉得这个改是x不是j么
全部回答
  • 1楼网友:神也偏爱
  • 2021-02-08 00:16
想同时变就不能放在两个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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯