我有一个包含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
单元格仍在那里。任何人都可以建议为什么代码不起作用?
答案 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,这将允许您单步执行代码并检查您正在引用的工作表。