遍历行不包括最后一行

时间:2019-04-29 20:30:33

标签: excel vba

我有以下代码,这些代码是我在网上找到的,并经过修改后可用于May应用程序。它遍历每一行并执行范围值代码,直到出现空白行。除了不包含最后一行,它的工作原理很棒。

有人可以告诉我我的代码有什么问题吗?

Application.ScreenUpdating = False
      NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count
      Range("A2").Select
      For x = 2 To NumRows
         ' Insert your code here.
         If ActiveSheet.Range("T" & x).Value > 1 Then ActiveSheet.Range("G" & x).Value = "YES" ' Else
         If ActiveSheet.Range("T" & x).Value < 1 Then ActiveSheet.Range("G" & x).Value = "NO" ' Else
      '   ActiveCell.Offset(1, 0).Select
      Next
      Application.ScreenUpdating = True

1 个答案:

答案 0 :(得分:0)

NumRows变量的值将比最后一个行号小1,因为您开始计算第2行中的行数。您可以看到,如果使用F8单步执行代码并检查该变量。

您可以通过多种方式解决此问题。

使用NumRows = Range("A1", Range("A2").End(xlDown)).Rows.Count

或使用NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count + 1

或使用For x = 2 To NumRows + 1