繁体   English   中英

Excel VBA中检查空过滤器的问题

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

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