VBA AdvancedFilter CriteriaRange ссылка (форматирование?) Проблема - PullRequest
0 голосов
/ 27 февраля 2019

Мой макрос ссылается на диапазон критериев в одной книге (текстовые значения) и фильтрует данные в другой книге (используя этот диапазон).Однако отфильтрованный список пуст (содержит только заголовки).Я пробовал тестировать много разных способов и изолировал проблему, вероятно, до форматирования моего диапазона критериев.Т.е., если я передаю текстовые значения через массив (вместо этого используется автофильтр), это работает, но не при ссылке на диапазон в Excel (с AdvancedFilter).Диапазон критериев («E2: E5») отформатирован как «Общий» и отображается в одном столбце следующим образом:

WFHF62330002
WFHF63840002
WFHF64540002

Принимает ли CriteriaRange значения в виде столбца или строки, т. Е. Нужно ли их транспонироватьв ряд (пробовал - не работает)?Или есть какой-то способ перевести его в форматирование текста?Не знаю, как решить эту проблему.

Соответствующий код:

With wb_input.Worksheets("TempSheet").Range("A1:Y99999")

.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=wb_output.Sheets("Setup").Range("E2:E15")

End With

Я не публикую весь макрос - надеюсь, приведенного выше объяснения достаточно.Большое спасибо!

1 Ответ

0 голосов
/ 02 марта 2019

Вы должны включить заголовок в свой диапазон критериев - диапазон критериев ("E1: E5"), если ячейка "E1" является заголовком :-) И заголовок должен совпадать с заголовком в листе, гдеВы применяете фильтр.

Смотрите здесь в этом сообщении:
Excel VBA - AdvancedFilter

...