Массив с Range.Autofilter не работает - PullRequest
0 голосов
/ 26 февраля 2020

В VB. net я пытался отфильтровать столбец Excel, используя массив и параметр "не равно". Но только последнее значение в массиве было использовано для фильтрации. Не было никакого влияния на другие значения элемента массива. Ввод в Excel:

**Table**
sfsf
hello
hi
hello

Я использую следующий синтаксис:

ws.Range(range).AutoFilter (field:=fieldnumber, Criteria1:=(AAA), 
Operator:=CType(x1And,XlAutoFilterOperator))

Где AAA имеет значение ("<> hi", "<> hello"). Результат:

**Table**
sfsf
hi

У любого есть идея, как я могу отфильтровать все элементы, кроме упомянутых в массиве, используя vb. net.

1 Ответ

0 голосов
/ 26 февраля 2020

Если вы пытаетесь отфильтровать два значения, которые не равны x, вам нужно добавить второй критерий отдельно:

ws.Range(range).AutoFilter (field:=fieldnumber, Criteria1:="<>hi", _
    Operator:=xlAnd, Criteria2:="<>hello"

Если вы пытаетесь отфильтровать два критерия, которые содержат это слово, вам нужно добавить подстановочный знак к вашим критериям, как показано ниже:

ws.Range(range).AutoFilter (field:=fieldnumber, Criteria1:="<>*hi*", _
    Operator:=xlAnd, Criteria2:="<>*hello*"
...