VBA 逻辑运算符:Excel VBA 中的 AND、OR、NOT、IF NOT

VBA 逻辑运算符:AND、OR、NOT

Excel VBA 逻辑运算符

假设您要处理一个客户订单。为此,您想先检查订购的产品是否存在。如果存在,您还想检查库存是否充足。在这种情况下,逻辑运算符会派上用场。逻辑运算符用于评估多个条件。

下表列出了主要的 Excel VBA 逻辑运算符 AND、OR、NOT

序号 运算符 描述 示例 输出
1 并且 AND:用于组合多个条件。如果所有条件都为真,AND 则评估为真。如果任何一个条件为假,AND 则评估为假 If true = true AND false = true THEN false
2 或者 OR:用于组合多个条件。如果任何一个条件评估为真,OR 则返回真。如果所有条件都为假,OR 则返回假 If true = true OR true = false THEN
3 NOT NOT:这就像一个反函数。如果条件为真,它返回假;如果条件为假,它返回真。 If NOT (true) Then false

VBA 逻辑运算符示例源代码

为简单起见,我们将比较硬编码的数字。

从“插入”选项中将 ActiveX 按钮添加到工作表中。

按下图所示设置属性

VBA Logical Operators
VBA 逻辑运算符

下表显示了您需要更改的属性和需要更新的值。

序号 控制 属性
1 CommandButton1 名称 btnAND
标题 AND 运算符 (0 = 0)
2 CommandButton2 名称 btnOR
标题 OR 运算符 (1 = 1) 或 (5 = 0)
3 CommandButton3 名称 btnNOT
标题 NOT 运算符 Not (0 = )

将以下代码添加到 btnAND_Click

Private Sub btnAND_Click()
    If (1 = 1) And (0 = 0) Then
            MsgBox "AND evaluated to TRUE", vbOKOnly, "AND operator"
        Else
            MsgBox "AND evaluated to FALSE", vbOKOnly, "AND operator"
    End If
End Sub

VBA If AND 运算符

  • “If (1 = 1) And (0 = 0) Then” 该 if 语句使用 AND 逻辑运算符来组合两个条件 (1 = 1) 和 (0 = 0)。如果两个条件都为真,则执行 'Else' 关键字之前的代码。如果两个条件都不为真,则执行 'Else' 关键字之后 的代码。

将以下代码添加到 btnOR_Click

Private Sub btnOR_Click()
    If (1 = 1) Or (5 = 0) Then
            MsgBox "OR evaluated to TRUE", vbOKOnly, "OR operator"
        Else
            MsgBox "OR evaluated to FALSE", vbOKOnly, "OR operator"
    End If
End Sub

VBA If OR 运算符

  • “If (1 = 1) Or (5 = 0) Then” 该 if 语句使用 OR 逻辑运算符来组合两个条件 (1 = 1) 和 (5 = 0)。如果任何一个条件为真,则执行 Else 关键字之前的代码。如果两个条件都为假,则执行 Else 关键字之后的代码。

将以下代码添加到 btnNOT_Click

Private Sub btnNOT_Click()
    If Not (0 = 0) Then
            MsgBox "NOT evaluated to TRUE", vbOKOnly, "NOT operator"
        Else
            MsgBox "NOT evaluated to FALSE", vbOKOnly, "NOT operator"
    End If
End Sub

VBA If NOT 运算符

  • “If Not (0 = 0) Then” VBA If Not 函数使用 NOT 逻辑运算符来否定 if 语句条件的结果。如果条件为假,则执行 'Else' 关键字之后的代码。如果条件为真,则执行 Else 关键字之前的代码。

下载包含上述代码的 Excel 文件