在SpecialCells(xlCellTypeBlanks).EntireRow.Delete中随机获取应用程序错误
Sheet1.Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
大家好,
如果单元格为空白,我使用上面的代码删除columnA中单元格的整行。 这可以很好地处理ColumnA中有空白单元格的表格,但是当VBA无法find任何空白行时,它可以删除它,从而发生错误。 这是真的吗? 我不想添加一个On Error
因为我不想让其余的代码行受到任何on-error-then-skip代码的影响。
莎拉
这是真的吗?
是的,如果没有空白单元格, SpecialCells(xlCellTypeBlanks)
会引发运行时错误。
正如我在评论中提到的,通常的做法是用OERN statemtent“夹心”代码:
On Error Resume Next Sheet1.Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete On Error GoTo 0
我不想添加一个
On Error
因为我不想让其余的代码行受到任何on-error-then-skip代码的影响。
你绝对是正确的 – 使用On Error Resume Next
没有On Error GoTo 0
真的很糟糕的主意 。 这就是为什么我使用线On Error GoTo 0
,它返回您的error handling程序为默认模式。