Макрофильтр столбец по двум разным значениям - Excel - PullRequest
0 голосов
/ 23 ноября 2018

Есть несколько вопросов на эту тему.Я пробовал несколько способов и не могу заставить его работать.

У меня есть auto-copy script, работающий с определенными значениями от одного sheet и copies их к другому sheet.Это прекрасно работает, если я copy на одно значение, но я не могу заставить его работать при добавлении второго значения.Так что скопируйте значение1 или значение2.Ниже мой code

Sub FilterAndCopy()
    Dim rng As Range, sht1 As Worksheet, sht2 As Worksheet

    Set sht1 = Worksheets("LOG")
    Set sht2 = Worksheets("P Or A")

    sht2.UsedRange.ClearContents

    With Intersect(sht1.Columns("B:BP"), sht1.UsedRange)
        .Cells.EntireColumn.Hidden = False ' unhide columns
        If .Parent.AutoFilterMode Then .Parent.AutoFilterMode = False
        .AutoFilter field:=1, Criteria1:="P"
        .AutoFilter field:=1, Criteria1:="A"

Основываясь на других вопросах, я попытался добавить следующее:

1) Operator:=xlFilterValues,
2) Operator:=xlOr,

Но это не работает.Что-то еще мешает сценарию?

1 Ответ

0 голосов
/ 23 ноября 2018

Насколько мне известно, вы можете использовать опцию фильтра только для 2 критериев.Все, кроме этого, вам нужны массивы ..

Чтобы сделать это, я предполагаю, что ваши заголовки находятся в диапазоне B: BP в строке 1. и поле, по которому вы хотите фильтровать, это col B

sht1.Range("B1:BP1").AutoFilter Field:=1, Criteria1:="P", Operator:=xlOr, Criteria2:="A"

Дайте попробовать. Измените диапазон / заголовки, где это применимо, а также номер поля, для которого вы хотите использовать фильтр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...