Как пройти через автофильтр Excel, где критерии относятся к ячейке - PullRequest
1 голос
/ 12 июня 2019

Мне нужно перебрать автофильтр, где у меня есть X количество столбцов, и фильтр в каждом столбце будет соответствовать критериям, указанным в другом листе

Это рабочий код, и в этом я указалавтофильтры для 2 столбцов, в фактических данных у меня 50 столбцов, а критерии для поля 2 зависят от B2 и B3 на листе с именем Shhet1, критерии для поля 3 зависят от C2 и C3 и т. д. до столбца uptil 50

Sub Macro1()
   Sheets("Data").Select
   ActiveSheet.Range("Data").AutoFilter Field:=2, Criteria1:=Worksheets("Sheet1").Range("B2").Value & Worksheets("Sheet1").Range("B3").Value
   ActiveSheet.Range("Data").AutoFilter Field:=3, Criteria1:=Worksheets("Sheet1").Range("C2").Value & Worksheets("Sheet1").Range("C3").Value
End Sub

Я пробовал следующий код, но использование cell.value неверно.

Sub Macro2()
Dim i As Integer
    Sheets("Data").Select
For i = 2 To 3
ActiveSheet.Range("Data").AutoFilter Field:=2, Criteria1:=Worksheets("Sheet1").Cells(i, 2).Value & Worksheets("Sheet1").Cells(i, 3).Value
Next i
End sub

1 Ответ

0 голосов
/ 12 июня 2019
Sub FilterValues()

    Dim iColumn As Integer
    Dim rngData As Range
    Dim wksCriterias As Worksheet

    Set wksCriterias = Worksheets("Sheet1")
    Set rngData = Range("Data")

    With wksCriterias
        For iColumn = 2 To 3
            rngData.AutoFilter Field:=2, _
                               Criteria1:=Array(CStr(.Cells(2, iColumn)), CStr(.Cells(3, iColumn))), _
                               Operator:=xlFilterValues
        Next
    End With

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