如果我的AdvancedFilter函数找不到任何匹配结果,我该如何返回一个msg框?

时间:2016-10-28 12:58:30

标签: excel

    If WorksheetFunction.CountA(Range("B3:H3")) = 0 Then
    MsgBox "You have not specified any criteria!"
Else
    Sheets("STOCK_DB").Range("B1:H2000").AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Range("B2:H3"), CopyToRange:=Range("B4:H2000"), Unique:= _
    False

    Sheets("STOCK SEARCH").Range("B4").EntireRow.Delete
End If

如果AdvancedFilter在B3:H3范围内找不到与我的搜索条件匹配的结果,我需要显示一个msg框。我无法解决这个问题!

1 个答案:

答案 0 :(得分:0)

我认为您需要使用specialcells属性来计算可见单元格的数量:

    If Sheets("STOCK_DB").Range("B1:H2000").Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1 = 0 Then
        MsgBox "No results"
    End If

此处的详细信息:Row count on the Filtered data