繁体   English   中英

Excel For Loop VBA宏不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM