[英]Problem of checking for empty filter in Excel VBA
我有一个数据集如下:
我想检查是否有任何“无效”状态(我们在这张图片中没有)。 如果有,我想删除整行,如果没有,我想保持原样。 我的代码是:
With Range("A1").CurrentRegion
.AutoFilter 1, "invalid"
If .Offset(1).Resize(.Rows.Count-1).SpecialCells(xlVisible) is Nothing Then
MsgBox "No Invalids"
Else
.Offset(1).Resize(.Rows.Count-1).EntireRow.Delete
End If
.AutoFilter
End With
但是,我的代码在If .Offset(1).Resize(.Rows.Count-1).SpecialCells(xlVisible) is Nothing Then
行上给了我一个错误,说no cells were found
。 我只是无法弄清楚这个空检查 if 语句有什么问题。
请尝试以下操作...
Dim filterRange As Range
With Range("A1").CurrentRegion
.AutoFilter 1, "invalid"
On Error Resume Next
Set filterRange = .Offset(1, 0).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
If Not filterRange Is Nothing Then
filterRange.EntireRow.Delete
End If
On Error GoTo 0
.AutoFilter
End With
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.