Фильтрация нескольких переменных в цикле - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь использовать массив для фильтрации нескольких значений без жесткого кодирования данных.Я хотел бы создать цикл, который будет проходить через список, который имеет переменные размеры (1 критерий или 3 критерия) для каждого условия.Вот пример того, как будут выглядеть данные:

 A    B
100   A
200   A
300   B
400   B
500   B
600   B
700   C

Я бы хотел, чтобы код принимал все значения, связанные с «A». Итак, 100 и 200 будут использоваться в качестве значений для фильтрации по, затем используйте все значения, связанные с 'B' - 300, 400, 500 и т. д.

Sub FilterMulti2()
Dim i As Integer
Dim ar(1 To 20) As String

For i = 2 To ThisWorkbook.Worksheets("Sheet1").Range("A10000").End(xlUp).Row + 1

ar(i - 1) = Sheet1.Range("A" & i - 1)
Next i

ThisWorkbook.Worksheets("Sheet2").Range("A1").AutoFilter 4, ar, xlFilterValues
'Code****

ThisWorkbook.Worksheets("Sheet2").Range("A1").AutoFilter
End Sub

В настоящее время мой код работает только для одного списка, но мне нужно сделать это далееКод определяет, какие элементы фильтровать.

Спасибо

РЕДАКТИРОВАТЬ: Итак, я обновил код после просмотра статьи, опубликованной @badja.Вот код: он будет хранить 'A' и 'B' в ar2, но я не знаю, как использовать это в качестве критерия, по каким элементам первый массив будет использовать для фильтрации.

Sub FilterMulti2()
Dim i As Integer
Dim ar(40) As Variant
Dim ar2(40) As Variant
For i = 2 To ThisWorkbook.Worksheets("Sheet1").Range("A10000").End(xlUp).Row + 1

ar(i - 1) = Sheet1.Range("A" & i - 1)
ar2(i - 1) = Sheet1.Range("B" & i - 1)
Next i

ThisWorkbook.Worksheets("Sheet2").Range("A1").AutoFilter 4, ar, xlFilterValues
'Code****

ThisWorkbook.Worksheets("Sheet2").Range("A1").AutoFilter 'Turn autofilter Off
End Sub

1 Ответ

1 голос
/ 15 марта 2019

Используйте что-то вроде Тиха

Dim ar(1 to 20, 1) As String

Это создаст «таблицу» 21 вниз и 2 поперек

Я раньше не использовал эти массивы, но в основном это модные таблицы

Пожалуйста, просмотрите этот ресурс для удивительной статьи о многомерных массивах

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