VBA IIF |如何在Excel中使用VBA IIF函数? (带有示例)
Excel VBA IIF
如果您是VBA宏的常规用户,那么您一定遇到过称为“ IIF”的功能,否则您可能已经在Internet上看到了该功能。乍一看,您可能已经认为这是IF条件,就像我们在Excel中的常规IF语句一样。但这不是我们用来评估逻辑测试并根据我们给出的标准得出结果的IF语句。在本文中,我们将带您了解VBA中的“ VBA IIF”条件。
IIF条件在VBA中起什么作用?
这与我们的中频条件非常相似,但本质上略有不同。 “ VBA IIF”条件测试提供的表达式或逻辑测试,并返回TRUE或FALSE作为结果。
VBA IIF语法
看一下IIF函数的语法。
- 表达: 这不过是我们要进行的逻辑测试。
- 真实部分: 如果逻辑测试为TRUE,那么TRUE部分的结果应该是什么。
- 错误部分: 如果逻辑测试为FALSE,那么FALSE部分的结果应该是什么。
我们可以使用TRUE和FALSE部分输入我们自己的结果。尽管参数看起来与IF条件的参数相似,但这将略有不同。我们将在Excel VBA IIF函数的示例中看到这一点。
常规“ IF”和此“ IIF”之间的主要区别之一是,我们可以使用IIF将代码缩减为一行,而在IF条件下,至少需要5行才能达到相同的结果。
VBA IIF功能示例
以下是excel中的VBA IIF函数示例。
您可以在此处下载此VBA IIF Excel模板– VBA IIF Excel模板Example#1 – VBA IIF
好的,我们将看到一个简单的IIF函数示例。现在我们将测试一个数字是否大于或小于另一个数字。请按照以下步骤编写VBA代码。
步骤1: 启动宏。
第2步: 在VBA中将变量定义为String。
代码:
Sub IIF_Example()Dim FinalResult作为字符串End Sub
第三步: 在VBA中将另外两个变量定义为Long。
代码:
Sub IIF_Example()Dim FinalResult作为字符串Dim Number1作为Long Dim Number2作为Long End Sub
第4步: 现在,为变量“ Number1”分配值105,并为变量“ Number2”分配值100。
代码:
Sub IIF_Example()Dim FinalResult作为字符串Dim Number1作为Long Dim Number2作为Long Number1 = 105 Number2 = 100 End Sub
步骤5: 现在,对于第一个定义的变量“ FinalResult”,我们将分配IIF函数的结果。因此,打开该变量的IIF。
步骤6: 提供表达式为Number1> Number2。
步骤7: 现在,如果表达式为TRUE,应该是什么结果。我将结果分配为“数字1大于数字2”。
步骤8: 现在,如果表达式为FALSE,应该是什么结果。我将结果分配为“数字1小于数字2”。
现在,变量值将是以下之一。
如果属实: “数字1大于数字2”
如果为假: “数字1小于数字2”
步骤9: 让我们在VBA的消息框中显示结果。
代码:
Sub IIF_Example()Dim FinalResult作为字符串Dim Number1作为Long Dim Number2作为Long Number1 = 105 Number2 = 100 FinalResult = IIf(Number1> Number2,“数字1大于数字2”,“数字1小于数字2”) MsgBox FinalResult结束子
现在,运行代码并查看结果。
由于数字1的值是105,大于数字2的值100,因此得到的结果是“数字1大于数字2”。由于Expression为TRUE,因此IIF条件返回此结果。
例子2 – IF vs IIF
您一定想知道IF和IIF之间的区别是什么。是的,编码有所不同。例如,查看IF条件代码。
代码:
Sub IIF_Example()Dim FinalResult作为字符串Dim Number1作为Long Dim Number2作为Long Number1 = 105 Number2 = 100如果Number1> Number2那么MsgBox“ Number 1大于Number 2”其他MsgBox“ Number 1小于Number 2”结束子
首先使用IF,我们已经应用了逻辑测试。
如果Number1> Number2然后
然后,如果逻辑检验为真,则我们应用了结果。
MsgBox“数字1大于数字2”
然后,如果逻辑检验为假,我们将应用不同的结果。
MsgBox“数字1小于数字2”
这两个函数都返回相同的结果,但是使用IIF,我们只能在一行中进行编码,而IF语句则需要多行。
示例#3 – VBA嵌套的IIF条件
就像我们如何使用嵌套IF来测试多个条件一样,我们也可以使用多个IIF。看一下下面的代码。
代码:
Sub IIF_Example2()将FinalResult作为字符串Dim标记作为长标记= 98 FinalResult = IIf(标记> 90,“ Dist”,IIf(标记> 80,“ First”,IIf(标记> 70,“ Second”,IIf(标记) > 60,“ Third”,“ Fail”)))))MsgBox FinalResult End Sub
上面的IIF条件测试了五个逻辑测试,并相应地返回结果。