VBA И функция | Как использовать логический оператор AND в VBA?

Excel VBA И функция

И - это логическая функция, а также логический оператор, что означает, что если все условия, предусмотренные в этой функции, выполнены, то только у нас будет истинный результат, тогда как если какое-либо из условий не выполняется, вывод возвращается как ложный, у нас есть встроенная команда AND в VBA для использования.

Надеюсь, вы прочитали нашу статью о «VBA OR» и «VBA IF OR». Эта функция прямо противоположна функции ИЛИ. В функции OR нам нужно, чтобы любое из предоставленных логических условий было удовлетворено, чтобы получить результат как ИСТИНА. Но в функции И все наоборот. Чтобы получить результат ИСТИНА, все предоставленные логические тесты в Excel должны быть выполнены.

Хорошо, посмотрите на синтаксис функции И в excel.

[Логический тест] И [Логический тест] И [Логический тест]

В приведенном выше примере у меня два результата теста из 600.

В столбце результатов мне нужно получить результат как ИСТИНА, если результат обоих тестов больше 250.

Посмотрите на изображение ниже.

Когда мы применяем логическую функцию И, мы получаем результаты. В ячейках C4 и C5 мы получили результат ИСТИНА, потому что результаты тестов 1 и 2 больше или равны 250.

Посмотрите на ячейку C6, здесь мы получили ЛОЖЬ, даже если оценка Теста 2 равна 250. Это потому, что в Тесте 1 оценка составляет только 179.

Примеры использования VBA и функций

Вы можете скачать этот шаблон VBA И Excel здесь - Шаблон VBA И Excel

Пример # 1

Например, мы проверим здесь числа: 25> = 20 и 30 <= 31.

Шаг 1. Объявите переменную как String.

Код:

 Sub AND_Example1 () Dim K As String End Sub 

Шаг 2: переменной «k» мы присвоим значение, применив функцию AND.

Код:

 Sub AND_Example1 () Dim K As String K = End Sub 

Шаг 3: Задайте первое условие как 25> = 20.

Код:

 Sub AND_Example1 () Dim K As String K = 25> = 20 End Sub 

Шаг 4: Теперь откройте функцию И и введите второй логический тест, то есть 30 <= 29.

Код:

 Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 End Sub 

Шаг 5: Теперь покажите результат переменной «k» в окне сообщения в VBA.

Код:

 Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 MsgBox K End Sub 

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

Мы получили результат как ЛОЖЬ, потому что из примененных двух условий первое условие 25> = 20, это условие выполнено, поэтому результат ИСТИНА, а второе условие 30 <= 29 это не выполнено, результат ЛОЖЬ. Чтобы результат был ИСТИННЫМ, должны быть выполнены оба условия.

Пример # 2

Теперь я изменю логический тест на «100> 95 И 100 <200».

Код:

 Sub AND_Example2 () Dim k As String k = 100> 95 And 100 <200 MsgBox k End Sub 

Запустите код, чтобы увидеть результат.

Здесь мы получили ИСТИНА, потому что

1-й логический тест: 100> 95 = ИСТИНА

2-й логический тест: 100 <200 = ИСТИНА

Поскольку мы получили ИСТИННЫЕ результаты для обоих логических тестов, наш окончательный результат - ИСТИНА.

Пример # 3

Теперь мы увидим данные из рабочего листа. Используйте данные, которые мы использовали, чтобы показать пример функции И в Excel.

Here the condition is Test 1 Score >= 250 AND Test 2 Score >= 250.

Since we have more than one cell of data we need to use loops to avoid writing unnecessary and time-consuming lines of codes. I have written the below code for you, formula, and logical is the same only thing is I have used “VBA For Next Loop”.

Code:

 Sub AND_Example3() Dim k As Integer For k = 2 To 6 Cells(k, 3).Value = Cells(k, 1) >= 250 And Cells(k, 2) >= 250 Next k End Sub 

This will give the result exactly the same as our worksheet function but we will not get any formulas, we get only results.

Like this, we can apply AND logical function to test multiple conditions which are all should be TRUE to arrive at the desired results.

This works completely opposite of OR function, where OR requires any one of the supplied condition to be TRUE to arrive the results but AND requires 100% result in a logical test to arrive the results.