Я выполняю следующий код для фильтрации, а затем проверяю, дал ли фильтр результаты:
Sub filter()
Dim field1Col As Integer
Dim tbl As ListObject
Dim typeRange As Range
Set tbl = Worksheets("Sheet1").ListObjects("Table1")
field1Col = Worksheets("Sheet1").Rows("1:1").Find(What:="Col1", LookAt:=xlWhole).Column
tbl.Range.AutoFilter Field:=field1Col, Criteria1:="c"
On Error Resume Next
Set typeRange = tbl.ListColumns("col1").Range.SpecialCells(xlVisible)
On Error GoTo 0
If typeRange Is Nothing Then
Debug.Print "no filtered values"
Else
Debug.Print typeRange.Value
End If
End Sub
Мой критерий - "C". Если значения «C» отсутствуют, видимый диапазон все еще не равен «Nothing», поскольку он включает заголовок. Приведенный выше код будет печатать заголовок столбца.
Я хотел бы проверить, если после фильтрации нет результатов?