Оператор VBA if — это условный оператор, в котором код запускается на основе условий. Если условие выполнено, мы можем указать в коде, что мы хотим, и еще что мы хотим. Вот почему в VBA его также называют оператором if then else. Это очень похоже на excel if. В VBA, если нам нужно написать коды, а в excel мы указываем условие в самой формуле.
Вложенный, если в VBA | Можете ли вы иметь оператор if внутри оператора if VBA?
Вложенный if в VBA означает использование оператора if внутри оператора if. Это похоже на вложенные операторы if в Excel, где мы используем несколько операторов if в одной формуле, но в VBA мы будем использовать несколько операторов if внутри оператора if.
Синтаксис инструкции VBA if
Подпрограмма if_statement()
Если условие, то коды VBA
В противном случае, если условие, то коды VBA
Другие коды VBA
Завершить, если
Мы должны закрыть оператор if с помощью end if в конце, иначе код выдаст нам ошибку.
Давайте разберемся в этом на практическом примере. Ниже приведены данные, и, допустим, мы хотим раскрасить эти данные синим, зеленым, красным и желтым цветом в зависимости от условия или текста, упомянутого в H2.
В H2 я создал валидацию, в которой перечислены названия цветов.
Теперь вопрос заключается в том, что когда мы меняем имя цвета при проверке, тот же цвет должен применяться к данным при нажатии кнопки для запуска кода.
Код VBA:
Подпрограмма if_statement_in_VBA()
Если Диапазон("h2").Значение = "Синий", Тогда
Range("a1").CurrentRegion.Interior.Color = vbBlue
ИначеЕсли Диапазон("h2").Значение = "Зеленый" Тогда
Range("a1").CurrentRegion.Interior.Color = vbGreen
ИначеЕсли Диапазон("h2").Значение = "Красный" Тогда
Range("a1").CurrentRegion.Interior.Color = vbRed
Другое
Range("a1").CurrentRegion.Interior.Color = vbBlue
Конец, если
Конец подписки
Объяснение: "If Range("h2").Value = "Blue" " это первое условие в кодах. Он проверит, имеет ли ячейка "h2" значение ячейки «Синий», если это так, то данные будут окрашены в синий цвет с использованием кода «
Range("a1").CurrentRegion.Interior.Color = vbBlue». Убедитесь, что вы пишете vb перед названием цвета в коде, иначе VBA не определит, что это цвет, который вы хотите применить. Таким образом, если первое условие выполнено, данные будут окрашены в синий цвет, а если оно не выполнено, оно перейдет к следующему условию, которое указано в else if. Вы можете использовать любое количество else, если это зависит от ваших требований. Поэтому я использовал 1 if и 3 else if здесь, чтобы проверить 3 условия, и в последнем я использовал оператор else, означающий, что если ни одно условие не выполнено, данные будут окрашены в синий цвет, как указано в коде else. Убедитесь, что оператор if закрыт с end if последним.
Теперь мы можем создать кнопку для выполнения кодов. Вы можете использовать любое изображение или фигуру и назначить ему свой макрос.
Теперь измените значение в ячейке h2 на зеленый и нажмите на кнопку. Вывод представлен ниже.
Теперь измените значение ячейки на «красное» и нажмите кнопку.
Вывод:
Итак, как вы можете преуспеть в VBA, если оператор с несколькими условиями.
Надеюсь, мне удалось объяснить вам логику. Спасибо! Счастливого обучения!
Предыдущая глава — Следующая глава
Краткие справочники
Как скомпилировать данные из нескольких книг в одну книгу с помощью Excel VBA? — Объяснил
Как скопировать данные из одной книги и вставить в другую с помощью Excel VBA?
Как создавать диаграммы в VBA? — Разъяснено на примерах
Как получить последнюю строку данных? Концепция LR — Изучите Excel VBA
Как обрабатывать ошибки в Excel VBA? Какие существуют методы обработки ошибок в VBA?
Как открыть книгу с локального диска в Excel VBA? Объяснение свойства GetopenfileName
Как выделить ячейки или группу ячеек, используя свойства ячеек в excel с помощью excel VBA?
Как выделить ячейки/группу ячеек или диапазон в excel с помощью Excel VBA? — Learnitix