逻辑运算符通常用于对一组值或变量执行逻辑和算术运算。在 VBA 中,我们可以使用逻辑运算符 AND、OR、NOT 和 XOR 来对值进行比较。这些运算符被视为 “布尔” 运算符,这意味着它们返回的结果是 True(真) 或 False(假)。在 Excel VBA 中,逻辑运算符常用于执行逻辑比较以及组合多个条件。
VBA 逻辑运算符 – AND, OR, NOT, XOR
AND 逻辑运算符
该运算符用于组合多个条件。如果所有条件都为真,AND 运算的结果为真。如果其中任何一个条件为假,AND 运算的结果就为假。
> 例如:假设变量 A 持有 10,变量 B 持有 0,那么
>
>
>
> a0 AND b0 的结果为 False(假)。
OR 逻辑运算符
该函数用于组合多个条件。如果任意一个条件评估为真,OR 就返回真。只有当所有条件都为假时,OR 才返回假。
> 例如:假设变量 A 持有 10,变量 B 持有 0,那么
>
>
>
> a0 OR B0 的结果为 true(真)。
NOT 逻辑运算符
它的作用类似于反函数。如果条件为真,它返回假;如果条件为假,它返回真。
> 例如:假设变量 A 持有 10,变量 B 持有 0,那么
>
>
>
> NOT(a0 OR b0) 的结果为 false(假)。
XOR 逻辑运算符:
它是 NOT 和 OR 运算符的组合。如果有且仅有一个表达式评估为 True,则结果为 True。
> 例如:假设变量 A 持有 10,变量 B 持有 0,那么
>
>
>
> (a0 XOR b0) 的结果为 true(真)。
VBA If AND 运算符(逻辑 AND 运算符)
如果两个条件都为 True,则表达式结果为真。
> 如果 Condition1 和 Condition2 都为 True,那么 Then
>
>
>
> ‘如果 Condition1 和 Condition2 都为 TRUE 时执行的代码
>
>
>
> End if
示例: 假设变量 A 持有 20,变量 B 持有 0,那么 a0 AND b0 的结果为 False。
程序:
> Private Sub Demo_Loop()
>
>
>
> Dim a As Integer //声明变量
>
>
>
> a = 20
>
>
>
> Dim b As Integer // 声明变量
>
>
>
> b = 0
>
>
>
> If a 0 and b 0 Then
>
>
>
> MsgBox ("AND LOGICAL Operator Result is: True")
>
>
>
> Else
>
>
>
> MsgBox (" AND LOGICAL operator Result is: False")
>
>
>
> End If
>
>
>
> End Sub
!VBA code of AND logical operator.
输出结果:
> AND LOGICAL Operator Result: False
!output of AND logical operator.
VBA If OR 运算符(逻辑 OR 运算符)
如果两个条件中的任何一个为 True,则条件为真。
> 如果 Condition1 OR Condition2 为真,那么 Then
>
>
>
> ‘如果 Condition1 或 Condition2 为 True 时执行的代码
>
>
>
> End if
示例: 假设变量 A 持有 20,变量 B 持有 0,那么 a0 OR b0 的结果为 true。
程序:
> Private Sub Demo_Loop()
>
>
>
> Dim a As Integer //声明变量
>
>
>
> a = 20
>
>
>
> Dim b As Integer //声明变量
>
>
>
> b = 0
>
>
>
> If a 0 OR b 0 Then
>
>
>
> MsgBox ("OR LOGICAL Operator Result is: True")
>
>
>
> Else
>
>
>
> MsgBox (" OR LOGICAL operator Result is: False")
>
>
>
> End If
>
>
>
> End Sub
!VBA code of OR logical operator.
输出结果:
> OR Logical Operator Result is: True
!output of OR logical operator.
VBA If NOT 运算符(逻辑 NOT 运算符)
反转结果。如果条件为真,逻辑 NOT 运算符会使其变为假。
> 如果 Not Condition 为真,那么 Then
>
>
>
> ‘如果条件为 False 时执行的代码。
>
>
>
> End if
示例: 假设变量 A 持有 20,变量 B 持有 0,那么 NOT(a0 OR b0) 的结果为 false。
程序:
> Private Sub Demo_Loop()
>
>
>
> Dim a As Integer //声明变量
>
>
>
> a = 20
>
>
>
> Dim b As Integer //声明变量
>
>
>
> b = 0
>
>
>
> If a 0 NOT b 0 Then
>
>
>
> MsgBox ("NOT LOGICAL Operator Result is: True")
>
>
>
> Else
>
>
>
> MsgBox (" NOT LOGICAL operator Result is: False")
>
>
>
> End If
>
>
>
> End Sub
!VBA code of NOT logical operator..
输出结果:
> NOT LOGICAL operator Result is : False
!output of Not Logical operator.
VBA If XOR 运算符(逻辑 XOR 运算符)
它是 NOT 和 OR 运算符的组合。如果有且仅有一个表达式评估为真,则结果为真。
VBA 中的逻辑运算符
让我们深入了解一下 VBA 中的逻辑运算符。