#excel #vba
#excel #vba
Вопрос:
У меня есть лист с именованным диапазоном CODES_RANGE=Sheet1! $ A: $A. Некоторые строки CODES_RANGE имеют значение «x». Мне нужно получить в переменной диапазона (в VBA) только строки со значением «x».
Я знаю, что могу сделать для каждого оператора, но в этом случае время задержки будет большим, потому что много строк.
Есть ли какой-либо метод или инструкция, которые я могу использовать, чтобы избежать цикла итерации?
Спасибо.
Комментарии:
1. Почему бы просто не использовать
Range.Filter
?2. Использование диапазона. Фильтр будет влиять на лист отображения (потому что стрелка в первой строке)? Я не хочу изменять данные листа.
3. Я не понимаю, что вы подразумеваете под «изменением данных листа». Что вы на самом деле хотите сделать со строками, имеющими значение «x»?
4. Мне нужно только установить переменную диапазона с номерами строк, содержащих значение «x». Но я не должен изменять ни значение листа, ни формат. Я думаю, что диапазон. Фильтр будет работать как опция фильтра в меню приложения (размещение стрелки вниз в заголовке таблицы), но, возможно, я ошибаюсь.
5. вы хотите, чтобы адреса ячеек имели значение x.? и присваивали его переменной диапазона. Я не могу придумать никакой готовой функции. Вы не можете избавиться от цикла. но мне интересно, что вы собираетесь делать только с адресами ячеек.? если вы собираетесь скопировать его на другой лист или книгу, вы можете применить диапазон. Отфильтруйте и попробуйте объект выбора.