У меня есть список данных на листе, называемый «сырой», который состоит из разных животных. На главном листе у меня есть именованный диапазон «rngAnimals» (Dynamic - User entry values), где я могу перечислить значения, которые я хотел бы исключить в автофильтре, и показать оставшиеся данные.
Пример данных:
| Animal |
|----------|
| Dog |
| Cat |
| Bird |
| Elephant |
| Horse |
| Dog |
| Dog |
| Cat |
| Bird |
| Elephant |
| Horse |
| Dog |
В моем именованном диапазоне "rngAnimals" я указал значения, которые нужно исключить в автофильтре:
| Dog |
| Cat |
У меня есть рабочий код, однако, он делает противоположное (показывает значения, которые я указал).
Sub UnselectCritera()
Dim vCrit As Variant
Dim inputSheet As Worksheet
Dim mainSheet As Worksheet
Dim rngCrit As Range
Dim rngOrders As Range
Set inputSheet = Worksheets("raw")
Set mainSheet = Worksheets("Main")
Set rngOrders = inputSheet.Range("$A$1").CurrentRegion
Set rngCrit = mainSheet.Range("rngAnimals")
vCrit = rngCrit.Value
rngOrders.AutoFilter _
Field:=1, _
Criteria1:=Application.Transpose(vCrit), _
Operator:=xlFilterValues
End Sub
Я пытался изменить "=" на что-то "<>", однако это выдает мне ошибку:
rngOrders.AutoFilter _
Field:=1, _
Criteria1:="<>" & Application.Transpose(vCrit), _
Operator:=xlFilterValues
Есть ли альтернативный способ, чтобы я мог исключить значения, перечисленные в списке при выполнении автофильтра?