Логический тип данных VBA (тусклая переменная)

Тип логической переменной

Тип данных VBA Boolean используется для хранения значений True или False. Истина также может быть представлена ​​1, а Ложь - 0.

Чтобы объявить логическую переменную, вы используете оператор Dim (сокращение от Dimension):

1 Dim blnA как логическое

Затем, чтобы присвоить значение переменной, вы просто используете знак равенства:

1 blnA = Верно

Когда вы поместите это в процедуру, это может выглядеть так:

123456789101112 Sub blnExample ()'объявить логическую переменнуюDim blnA как логическое'запустить код для заполнения переменной - обычно это оператор if или caseЕсли Range ("A1")> 0, тогдаblnA = верноЕщеblnA = ЛожьКонец, если'показать окно сообщенияMsgBox "Проверка того, имеет ли ячейка значение больше 0," & blnAКонец подписки

Если вы запустите приведенный выше код, появится следующее окно сообщения.

Объявить логическую переменную на модульном или глобальном уровне

В предыдущем примере мы объявили Логический переменная внутри процедуры. Переменные, объявленные с помощью процедуры, могут использоваться только внутри этой процедуры.

Вместо этого вы можете объявить логические переменные на модульном или глобальном уровне.

Уровень модуля

Вы заявляете Уровень модуля переменные в верхней части модулей кода с Тусклый утверждение.

Эти переменные можно использовать с любой процедурой в этом модуле кода.

Глобальный уровень

Вы также заявляете Глобальный уровень переменные в верхней части модулей кода. Однако вместо использования Тусклый заявление, вы должны использовать Общественные заявление, чтобы указать, что Логический переменная доступна для использования в вашем проекте VBA.

1 Public blnA как логическое

Если бы вы объявили Логический переменная на уровне модуля, а затем попытайтесь использовать ее в другом модуле, вы получите сообщение об ошибке.

Однако, если вы использовали ключевое слово Public для объявления Логический переменной, ошибка не возникнет, и процедура будет работать безупречно.

Использование логической переменной

Вы используете логическую переменную в логическом сравнении. Они часто используются с операторами If для проверки того, является ли условие истинным или ложным, как в приведенном выше примере, или в строке кода для применения логической проверки - возможно, чтобы увидеть, больше ли одно значение, чем другое.

12345678 Sub blnExample ()'объявить логическую переменнуюDim blnA как логическое'проверить, больше ли одно число, чем следующее числомлрд = 45> 68'показать окно сообщенияMsgBox млрдКонец подписки

Если вы запустите приведенный выше код, вы получите следующее окно сообщения.

ведь 45 конечно не больше 68!

Использование логических операторов

Поскольку логические переменные используются в логическом сравнении, мы можем использовать логические операторы И и ИЛИ, чтобы проверить, является ли более одного условия истинным или ложным.

Использование оператора И

Мы можем использовать функцию И, чтобы увидеть, выполняются ли ОБЕИХ условий.

12345678 Sub blnExample ()'объявить логическую переменнуюDim blnA как логическое'используйте оператор AND, чтобы проверить, верны ли оба условияblnA = 10> 13 и 15> 12'показать окно сообщенияMsgBox млрдКонец подписки

или мы могли бы запустить тот же тест, используя оператор If:

123456789101112 Sub blnExample ()'объявить логическую переменнуюDim blnA как логическое'используйте оператор AND, чтобы проверить, верны ли оба условияЕсли 10> 13 и 15> 12, тоblnA = верноЕщеblnA = ЛожьКонец, если'показать окно сообщенияMsgBox млрдКонец подписки

Оба приведенных выше примера вернут ЛОЖНЫЙ из-за того, что 10 - это НЕТ больше 13 - и ОБА Для того чтобы логическое значение было истинным, условия должны быть истинными.

Использование оператора ИЛИ

Мы можем использовать функцию ИЛИ, чтобы увидеть, выполняется ли ОДНО ИЗ условий.

12345678 Sub blnExample ()'объявить логическую переменнуюDim blnA как логическое'используйте оператор AND, чтобы проверить, верны ли оба условияblnA = 10> 13 или 15> 12'показать окно сообщенияMsgBox млрдКонец подписки

или мы могли бы запустить тот же тест, используя оператор If:

123456789101112 Sub blnExample ()'объявить логическую переменнуюDim blnA как логическое'используйте оператор AND, чтобы проверить, верны ли оба условияЕсли 10> 13 ИЛИ 15> 12 ТогдаblnA = верноЕщеblnA = ЛожьКонец, если'показать окно сообщенияMsgBox млрдКонец подписки

Эти примеры вернутся ПРАВДА из-за того, что 10 НЕ больше 13, НО 15 больше 12 - иТОЛЬКО ОДИН Условие должно быть истинным, чтобы логическое значение было истинным.

Использование операторов If позволяет нам использовать больше логических операторов

Использование оператора НЕ

Мы также можем использовать оператор NOT с логической переменной. Оператор NOT отрицает значение условия, поэтому, если условие истинно, оператор NOT вернет false.

12345678910111213141516 Sub FindDifferences ()'объявить переменные диапазонаDim rng1 As RangeDim rng2 As Range'активировать лист одинРабочие листы ("Лист1"). Активировать'заполнить диапазоныУстановить rng1 = Диапазон ("A3")Установить rng2 = Диапазон ("B3")'используйте оператор NOT, чтобы узнать, равны ли значения или нет.Если не rng1.Value = rng2.Value ТогдаMsgBox "Значения в ячейках не равны"ЕщеMsgBox "Значения в ячейках равны"Конец, еслиКонец подписки

Использование логического оператора Xor

ВXor логический оператор используется для сравнения двух или более условий. Если одно из условий верно, оно вернет ИСТИНА. Если есть 2 условия, НИ НИ ОДИН или ОБА истинны, будет возвращено ЛОЖЬ.

1234567891011121314151617 Sub blnExample ()'объявляем целые числаDim intA как целое числоDim intB как целое число'объявить логическую переменнуюDim blnResult As Boolean'заполнить переменныеintA = 5intB = 10'проверьте, верно ли оноЕсли intA = 5 Xor intB = 5 ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, еслиMsgBox blnResultКонец подписки

В приведенном выше примере, поскольку ОДНО из условий ИСТИНА, окно сообщения вернет ПРАВДА.

1234567891011121314151617 Sub blnExample ()'объявляем целые числаDim intA как целое числоDim intB как целое число'объявить логическую переменнуюDim blnResult As Boolean'заполнить переменныеintA = 5intB = 5'проверьте, верно ли оноЕсли intA = 5 Xor intB = 5 ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, еслиMsgBox blnResultКонец подписки

Однако в приведенном выше примере, поскольку ОБЕИ условия верны, окно сообщения вернет ЛОЖНЫЙ.

1234567891011121314151617 Sub blnExample ()'объявляем целые числаDim intA как целое числоDim intB как целое число'объявить логическую переменнуюDim blnResult As Boolean'заполнить переменныеintA = 6intB = 8'проверьте, верно ли оноЕсли intA = 5 Xor intB = 5 ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, еслиMsgBox blnResultКонец подписки

и, наконец, поскольку оба условия - ЛОЖЬ, окно сообщения также вернет ЛОЖЬ.

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave