Согласно моему комментарию, вы можете попробовать Range.AutoFilter
. Представьте себе следующие данные:
Запуск следующего кода:
Sub Test()
Dim rng As Range
With Sheet1
If .Cells(2, 2).Value = "ALL" Or .Cells(2, 4).Value = "ALL" Then
If .FilterMode Then .ShowAllData
Else
.Range("A4:E10").AutoFilter 1, VisibleDropDown:=False
.Range("A4:E10").AutoFilter 2, .Cells(2, 2), VisibleDropDown:=False
.Range("A4:E10").AutoFilter 3, VisibleDropDown:=False
.Range("A4:E10").AutoFilter 4, .Cells(2, 4), VisibleDropDown:=False
.Range("A4:E10").AutoFilter 5, VisibleDropDown:=False
End If
End With
End Sub
Результаты в:
Вы видите, как параметр VisibleDropDown
скрывает раскрывающиеся стрелки. Вы можете оставить эти строки (и параметры), если это не имеет большого значения для ваших пользователей. По умолчанию установлено TRUE
.