VBA <>功能无法正常工作

时间:2019-06-16 16:28:49

标签: excel vba

我正在比较两个包含数字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 比较这两个值应该足以退出循环

1 个答案:

答案 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