Excel VBA Логические операторы
Три наиболее используемые логические операторы в Excel VBA являются: And, Or и Not. Как всегда, мы будем использовать простые примеры, чтобы сделать вещи более ясно.
Логический оператор И
Поместите командную кнопку на листе и добавьте строки следующего кода:
Dim score1 As Integer, score2 As Integer, result As String score1 = Range("A1").Value score2 = Range("B1").Value If score1 >= 60 And score2 > 1 Then result = "pass" Else result = "fail" End If Range("C1").Value = result
Объяснение: если score1 больше или равно 60 и score2 больше 1, Excel VBA возвращается проход, в противном случае возвращает Excel VBA неудачу.
Результат при нажатии на кнопку управления на листе:
Вывод: Excel VBA возвращается не потому, что score2 не больше 1.
Логический оператор Или
Поместите командную кнопку на листе и добавьте строки следующего кода:
Dim score1 As Integer, score2 As Integer, result As String score1 = Range("A1").Value score2 = Range("B1").Value If score1 >= 60 Or score2 > 1 Then result = "pass" Else result = "fail" End If Range("C1").Value = result
Объяснение: если score1 больше или равно 60 или score2 больше 1, Excel VBA возвращается проход, в противном случае возвращает Excel VBA неудачу.
Результат при нажатии на кнопку управления на листе:
Вывод: Excel VBA возвращается пройти, потому что score1 больше или равно 60.
Логический оператор Не
Поместите командную кнопку на листе и добавьте строки следующего кода:
Dim score1 As Integer, score2 As Integer, result As String score1 = Range("A1").Value score2 = Range("B1").Value If score1 >= 60 And Not score2 = 1 Then result = "pass" Else result = "fail" End If Range("C1").Value = result
Объяснение: если score1 больше или равно 60 и score2 не равен 1, Excel VBA возвращается проход, в противном случае возвращает Excel VBA неудачу.
Результат при нажатии на кнопку управления на листе:
Вывод: Excel VBA возвращается не потому, что score2 равно 1.