[英]Excel For Loop VBA Macro not working
我有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
单元仍然存在。 谁能说出为什么代码不起作用?
请确保此代码引用正确的工作表。 您可能在错误的工作表上运行代码,该工作表在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执行子程序,这将允许您单步执行代码并检查所引用的工作表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.