VBA 逻辑运算符:Excel VBA 中的 AND、OR、NOT、IF 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 按钮添加到工作表中。
按下图所示设置属性
下表显示了您需要更改的属性和需要更新的值。
序号 | 控制 | 属性 | 值 |
---|---|---|---|
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 关键字之前的代码。