如果在特定列中清空单元格,我正在编写一个excel-vba来查找和删除整行 . 如果至少有一个空白单元格我的宏工作正常,但如果没有空白单元格则显示错误400 . 我的代码是
Sub GPF_Sign()
Dim i As Integer, n as integer
Dim LROW As Long
LROW = Sheets("GPF").Range("B200").End(xlUp).Row
n = Range("D9:D" & LROW).SpecialCells(xlCellTypeBlanks).Cells.Count
If n > 0 Then
Range("D9:D" & LROW).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
End Sub
3 回答
随便挑选
Way 1: Using OERN (On Error Resume Next)
Way 2: Using Autofilter
您可以使用
On Error Resume Next
,但这不是通常推荐的方法,因为它可能会掩盖其他错误 . 相反,尝试以无错误的方式计算n
:又一个,更好的方法是使用
AutoFilter
:您使用“.SpecialCells(xlCellTypeBlanks)”的方法正在尝试返回范围 . 如果没有空白单元格,则下一部分“.cells.count”正在尝试计算Nothing . 这就是为什么它会给你一个错误 .
由于您已经在检查n> 0,您只需在"n= "行上方添加
On Error Resume Next
即可 . 如果此后有更多代码,您可能希望在此部分之后放置On Error GoTo 0
,以便它不会忽略以后的错误 .