Логічний оператор І | Логічний оператор Або | Логічний оператор Ні
Три найбільш використовуваних логічні оператори в Excel VBA є: І, Або і Ні. Як завжди, ми будемо використовувати прості приклади, щоб зробити речі більш зрозумілими.
Логічний оператор І
Помістіть команду на робочому аркуші та додайте такі рядки коду:
Dim score1 As Integer, score2 As Integer, результат As String
score1 = Діапазон ("A1"). Значення
score2 = Діапазон ("B1"). Значення
Якщо оцінка1> = 60 І оцінка2> 1 Тоді
result = "pass"
Інакше
result = "fail"
Закінчити Якщо
Діапазон ("C1"). Значення = результат
Пояснення: якщо score1 більший або дорівнює 60, а score2 більше 1, Excel VBA повертає проходження, інакше Excel VBA повертається невдало.
Результат, коли ви натискаєте кнопку команди на аркуші:
Висновок: Повернення Excel VBA не вдається, тому що бал 2 не більше 1.
Логічний оператор Або
Помістіть команду на робочому аркуші та додайте такі рядки коду:
Dim score1 As Integer, score2 As Integer, результат As String
score1 = Діапазон ("A1"). Значення
score2 = Діапазон ("B1"). Значення
Якщо оцінка1> = 60 або оцінка2> 1 Тоді
result = "pass"
Інакше
result = "fail"
Закінчити Якщо
Діапазон ("C1"). Значення = результат
Пояснення: якщо score1 більше або дорівнює 60 або score2 більше 1, Excel VBA повертає проходження, інакше повернення Excel VBA не завершується.
Результат, коли ви натискаєте кнопку команди на аркуші:
Висновок: Excel VBA повертає прохід, оскільки бал 1 більший або дорівнює 60.
Логічний оператор Ні
Помістіть команду на робочому аркуші та додайте такі рядки коду:
Dim score1 As Integer, score2 As Integer, результат As String
score1 = Діапазон ("A1"). Значення
score2 = Діапазон ("B1"). Значення
Якщо оцінка1> = 60 І не оцінка2 = 1 Тоді
result = "pass"
Інакше
result = "fail"
Закінчити Якщо
Діапазон ("C1"). Значення = результат
Пояснення: якщо score1 більший або дорівнює 60, а score2 не дорівнює 1, Excel VBA повертає проходження, інакше повернення Excel VBA не завершується.
Результат, коли ви натискаєте кнопку команди на аркуші:
Висновок: повернення Excel VBA не вдається, тому що score2 дорівнює 1.