Excel For Loop VBA宏不起作用

时间:2012-11-13 15:50:14

标签: excel vba excel-vba

我有一个包含2列的excel电子表格,最后一行是287983。在A列中有数字,如果单元格没有数字NaN则放在那里。在B列中有日期。我正在尝试使用以下宏来删除A列中的单元格具有NaN

的所有行
Sub Rowdel()
    Dim i As Long
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
        If Cells(i, 1) = "NaN" Then Cells(i, 1).EntireRow.Delete
    Next i
End Sub

但是,当我运行上面的代码时,NaN单元格仍在那里。任何人都可以建议为什么代码不起作用?

1 个答案:

答案 0 :(得分:0)

确保此代码引用了正确的工作表。您可能正在错误的工作表上运行代码,该工作表在A列中不包含NaN,因此不会导致代码运行中出现删除或其他可见迹象。

您可以尝试使用以下(仅限调试版)调试此代码:

Sub Rowdel()
    Dim i As Long
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
        Cells(i, 1).Select
        If Cells(i, 1) = "NaN" Then Cells(i, 1).EntireRow.Delete
    Next i
End Sub

在Excel VBA窗口中,使用 F8 执行sub,这将允许您单步执行代码并检查您正在引用的工作表。