我正在比较两个包含数字1、2、3或4的单元格。 在循环中,我比较了两个单元中的这些整数。如果它们不匹配(<>),则执行下一步退出。 VBA会忽略我的代码,并继续执行循环。使用调试我看到了这一点。 这是基本逻辑定律。有什么想法吗?
hdv = 1到4的数字 adv = 1到4的数字 行是1到100的循环
For loop= 1 To 100
hdv = Worksheets("20002018").Cells(row, 1).Value
adv = Worksheets("20002018").Cells(row, 2).Value
If hdv <> adv Then Exit For
'如果为false,请在此处执行一些操作。 下一个循环
Worksheets(“ 20002018”)。Cells(row,1)包含1个工作表(“ 20002018”)。Cells(row,2)包含2 比较这两个值应该足以退出循环
答案 0 :(得分:1)
将loop
用作For ... Next中的增量时,您的代码将无法编译。 Loop
是VBA中的保留字,还有另一个目的。
无论您将其更改为什么,都应该使用相同的名称代替row
,
hdv = Worksheets("20002018").Cells(row, 1).Value
adv = Worksheets("20002018").Cells(row, 2).Value
将row
更改为用于递增循环的任何数字变量,都会使For ... Next循环的每次迭代都增加工作表上的引用行,直到退出。
dim LOOPS as long, hdv as long, adv as long
for LOOPS =1 to 100
hdv = Worksheets("20002018").Cells(LOOPS, 1).Value
adv = Worksheets("20002018").Cells(LOOPS, 2).Value
If hdv <> adv Then Exit For
'other stuff
Next LOOPS