Фильтрация таблицы по массиву критериев, полученных из другой таблицы - PullRequest
0 голосов
/ 18 января 2019

В другом вопросе Я выяснил, как фильтровать таблицу для каждой строки из другой таблицы. Теперь мне нужно снова отфильтровать другую таблицу с массивом критериев из отфильтрованной таблицы.

Когда я использую код, который я отметил ниже, я получаю сообщение об ошибке; Несоответствие типов.

В конечном итоге мне нужно распечатать каждый результат этого цикла.

Изменить: Этот вопрос теперь решен. Код внизу работает блистательно!

    Sub LoopDoorAfdelingV4()

Dim myTable As ListObject
Dim myTable2 As ListObject
Dim c As Long
Dim myArray As Variant


Dim myGroupIDFilter As Variant
Dim myGroupNameFilter As Variant

Set myTable = ActiveSheet.ListObjects("TabelGroupID")
Set myGroupIDFilter = myTable.ListColumns(1).Range
Set myGroupNameFilter = myTable.ListColumns(2).Range
Set myTable2 = ActiveSheet.ListObjects("TabelAfdelingenIntern")  

For c = 2 To myTable.ListRows.Count

ActiveSheet.Range(myTable2).AutoFilter Field:=1, Criteria1:=myGroupNameFilter(c)

Set myfilteredgroup = myTable2.ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible)

With Application
    myArray = .Transpose(myfilteredgroup)
End With


Worksheets("Vorige werkdag").Range("$E$2:$P$10000").AutoFilter Field:=5, Criteria1:=myArray, _
Operator:=xlFilterValues

Worksheets("Vorige werkdag").PrintOut Copies:=1, Collate:=True, _
       IgnorePrintAreas:=False

Next c

End Sub

1 Ответ

0 голосов
/ 18 января 2019

Я бы предположил, что это связано с тем, как вы установили массив, который будет генерировать массив 2D, а Criteria1:=myArray ожидает массив 1D.

Если ваши данные в столбце, вы можете использовать

With Application
    myArray = .Transpose(myfilteredgroup.SpecialCells(xlCellTypeVisible))
End With

и если это строка, используйте

With Application
    myArray = .Transpose(.Transpose(myfilteredgroup.SpecialCells(xlCellTypeVisible)))
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...