Как отфильтровать именованный диапазон в Excel VBA?

#excel #vba

#excel #vba

Вопрос:

У меня есть лист с именованным диапазоном CODES_RANGE=Sheet1! $ A: $A. Некоторые строки CODES_RANGE имеют значение «x». Мне нужно получить в переменной диапазона (в VBA) только строки со значением «x».

Я знаю, что могу сделать для каждого оператора, но в этом случае время задержки будет большим, потому что много строк.

Есть ли какой-либо метод или инструкция, которые я могу использовать, чтобы избежать цикла итерации?

Спасибо.

Комментарии:

1. Почему бы просто не использовать Range.Filter ?

2. Использование диапазона. Фильтр будет влиять на лист отображения (потому что стрелка в первой строке)? Я не хочу изменять данные листа.

3. Я не понимаю, что вы подразумеваете под «изменением данных листа». Что вы на самом деле хотите сделать со строками, имеющими значение «x»?

4. Мне нужно только установить переменную диапазона с номерами строк, содержащих значение «x». Но я не должен изменять ни значение листа, ни формат. Я думаю, что диапазон. Фильтр будет работать как опция фильтра в меню приложения (размещение стрелки вниз в заголовке таблицы), но, возможно, я ошибаюсь.

5. вы хотите, чтобы адреса ячеек имели значение x.? и присваивали его переменной диапазона. Я не могу придумать никакой готовой функции. Вы не можете избавиться от цикла. но мне интересно, что вы собираетесь делать только с адресами ячеек.? если вы собираетесь скопировать его на другой лист или книгу, вы можете применить диапазон. Отфильтруйте и попробуйте объект выбора.