Попытка использовать переменную для критериев в автофильтре с «не равно» <> и не может заставить ее работать - PullRequest
1 голос
/ 16 октября 2019

Я использую Excel VBA для фильтрации списка, используя выражение "не равно". Если я использую Criteria1:="<>Bob", код работает отлично, но если я изменяю «Bob» на переменную, код не запускается.

Это работает:

ActiveSheet.ListObjects("Rpt_AM_04_Sales_ShipTo").Range.AutoFilter Field:=4, _
    Criteria1:="<>Bob", Operator:=xlFilterValues

Это неработа:

Dim Test_Criteria As String
Test_Criteria = "Bob"
ActiveSheet.ListObjects("Rpt_AM_04_Sales_ShipTo").Range.AutoFilter Field:=4, _
    Criteria1:<>Test_Criteria, Operator:=xlFilterValues

Я ожидаю, что код вернет список, в котором есть все, кроме Боба. Вместо этого я получаю сообщение об ошибке, просто набирая код:

Compile error
Expected: named parameter

1 Ответ

0 голосов
/ 16 октября 2019

Неверный синтаксис

Код не работает из-за incorrect syntax, где вы указываете критерии. Попробуйте это:

Измените это:

Criteria1:<>Test_Criteria

На это:

Criteria1:"<>" & Test_Criteria

Полный код:

Dim Test_Criteria As String
Test_Criteria = "Bob"
ActiveSheet.ListObjects("Rpt_AM_04_Sales_ShipTo").Range.AutoFilter Field:=4, _
     Criteria1:="<>" & Test_Criteria, Operator:=xlFilterValues

Надеюсь, это поможет.

...