Я хотел бы проверить несколько именованных диапазонов для значения boolean True/False
. Мне нужно проверить диапазоны проверки 1-ячеек (в порядке), и если результат True
, мне нужно указать .Select
соответствующий именованный диапазон (т. Е. Именованный диапазон без соответствующего префикса "validation_"
и выйти из подпрограммы. работает, но это не DRYЦитирование через несколько именованных диапазонов и переход к аналогичному диапазону имен VBA
Вот отрывок, чтобы получить суть вопроса, но это If-ElseIf
продолжается на протяжении многих других названных диапазонов:.
If Range("validation_name") = True Then
Range("name").Select
Exit Sub
ElseIf Range("validation_category") = True Then
Range("category").Select
Exit Sub
ElseIf Range("validation_subcategory") = True Then
Range("subcategory").Select
Exit Sub
' ... and many more...
Возможности/Вопросы:
- Я думаю, что я мог бы использовать либо массив именованных диапазонов, и массив получаемых «go-to» названных диапазонов?
- Возможно, я мог бы использовать
collection
вместо этого? - Не уверен, что цикл
for
или циклwhile
будет лучше?
Если вы исследование клеток в диапазоне, вы хотите проверить, если ** любой ** ячейка содержит * TRUE * или если ** все ** ячейки содержат * TRUE * ??? –
@ Gary'sStudent Существует отдельный именованный диапазон, который будет проверять, если ** любая ** ячейка содержит * True * - эта проблема обрабатывается заранее. Тогда мне нужно проверить * на порядок * эти проверки, чтобы я мог перейти в первую несостоявшуюся ячейку; отредактированный вопрос для уточнения. Подумайте о заполнении формы и затем отправьте пользователя в * первую точку * отказа. – JasonAizkalns