在SpecialCells(xlCellTypeBlanks)中随机获取应用程序错误.EntireRow.Delete

时间:2014-06-01 06:56:41

标签: excel vba

Sheet1.Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

大家好,

如果单元格为空,我使用上面的代码删除columnA中单元格的整行。这适用于ColumnA中具有空白单元格的表格,但是当VBA无法找到任何空行时,它可以删除它会向我发送错误。这样设置真的吗?我不想添加On Error,因为我不希望其余的代码行受到任何错误然后跳过代码的影响。

萨拉

1 个答案:

答案 0 :(得分:1)

  

它真的是这样设置的吗?

是的,如果没有空白单元格,SpecialCells(xlCellTypeBlanks)会抛出运行时错误。

正如我在评论中提到的,通常的做法是用OERN状态“夹住”代码:

On Error Resume Next
Sheet1.Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
  

我不想添加On Error,因为我不希望其余的代码行受到任何错误然后跳过代码的影响。

你是绝对正确的 - 使用On Error Resume NextOn Error GoTo 0真的bad idea。这就是为什么我使用行On Error GoTo 0将错误处理程序返回到默认模式。