VBA IF OR |如何在Excel VBA中使用带有OR函数的IF条件?

如果OR不是单个语句,则这是两个逻辑函数,它们在VBA中有时一起使用,当我们有多个要检查的条件并且是否满足任何一个条件时,我们将这两个逻辑函数一起使用如果在两个条件的If语句之间使用if语句Or语句,则为真实结果。

VBA中的IF OR功能

逻辑功能是任何基于标准的计算的核心。 “ IF”是最流行的逻辑功能,无论是作为工作表功能还是作为VBA功能,它都能很好地满足我们的需求。但是excel中的另一个逻辑函数“ OR”是最被低估的函数。掌握解决复杂计算的问题也很重要。在本文中,我们将详细介绍VBA IF OR函数。阅读全文,以获取详细的功能。

如何在VBA中将IF与OR功能配合使用?

我们将向您展示在VBA中使用IF OR函数的简单示例。

您可以在此处下载此VBA IF或Excel模板– VBA IF或Excel模板

逻辑功能的组合是excel中最好的组合。当您在另一个逻辑公式中组合许多逻辑公式时,这表明计算需要许多条件进行测试。

现在,查看VBA中IF OR函数的语法。

[测试]或[测试]或[测试]

这与我们在工作表示例中看到的相同。为了更好地理解,请看下面的示例。

我们在此提供上个月的价格,最近6个月的平均价格以及当前的月度价格。

为了决定是否购买产品,我们需要在此处进行一些测试。

如果 目前的价格 小于或等于其他两个价格中的任何一个,我们应该得到结果为 “买” 否则应该得到的结果为 “不要买”.

步骤1: 在子过程中打开IF条件。

代码:

 Sub IF_OR_Example1()如果结束Sub 

第2步: 在IF条件内,应用第一个逻辑测试作为Range(“ D2”)。Value <= Range(“ B2”)。Value

代码:

 Sub IF_OR_Example1()如果Range(“ D2”)。Value <= Range(“ B2”)。Value End Sub 

第三步: 完成第一个逻辑条件,现在打开OR语句。

代码:

 Sub IF_OR_Example1()如果Range(“ D2”)。Value <= Range(“ B2”)。Value或End Sub 

第4步: 现在将第二个逻辑条件应用为Range(“ D2”)。Value <= Range(“ C2”)。Value

代码:

 Sub IF_OR_Example1()如果Range(“ D2”)。Value <= Range(“ B2”)。Value OR Range(“ D2”)。Value <= Range(“ C2”)。Value End Sub 

步骤5: 好的,我们在这里完成了逻辑测试。在逻辑测试之后,加上“然后”一词。

代码:

 Sub IF_OR_Example1()如果Range(“ D2”)。Value <= Range(“ B2”)。Value或Range(“ D2”)。Value <= Range(“ C2”)。Value然后End Sub 

步骤6: 在下一行中,如果逻辑测试为TRUE,则应写出结果。如果条件为TRUE,则需要在单元格E2中将结果作为“购买”。

代码:

 子IF_OR_Example1()如果Range(“ D2”)。Value <= Range(“ B2”)。Value或Range(“ D2”)。Value <= Range(“ C2”)。Value然后Range(“ E2”)。值=“购买”结束子 

步骤7: 如果结果为FALSE,则结果应为“不购买”。因此,在下一行中输入“ Else”并在下一行中编写代码。

代码:

 子IF_OR_Example1()如果Range(“ D2”)。Value <= Range(“ B2”)。Value或Range(“ D2”)。Value <= Range(“ C2”)。Value然后Range(“ E2”)。值=“购买”其他范围(“ E2”)。值=“不购买”结束子 

步骤8: 用单词“如果结束”关闭IF语句。

代码:

 子IF_OR_Example1()如果Range(“ D2”)。Value <= Range(“ B2”)。Value或Range(“ D2”)。Value <= Range(“ C2”)。Value然后Range(“ E2”)。值=“购买”其他范围(“ E2”)。值=“不购买”如果结束则结束 

好的,我们完成了编码部分。

让我们使用F5或通过运行选项手动运行此代码,然后在单元格E2中查看结果。

我们得到的结果为“购买”,因为Apple当前的月度价格低于“上个月”和“ 6个月平均价格”的价格。

带循环的IF或VBA功能(高级)

一旦您了解了该公式,请尝试将其与更多的单元格一起使用。在大量单元的情况下,我们无法编写任何代码行,因此我们需要使用VBA循环。

对于以上数据集,我添加了几行。

我们需要在这里使用For Next循环。

只需保持当前代码不变即可。

将该变量声明为整数。

现在从2到9打开“下一个循环”。

现在,无论我们在哪里具有单元格引用,都将更改当前数字并将变量“ k”与它们连接。

例如 范围(“ D2”)。值 应该 范围(“ D”和k)。值

现在运行代码,我们应该获取所有单元格中的状态。

您可以复制下面的代码。

代码:

 Sub IF_OR_Example1()以k = 2到9的整数Dik如果Range(“ D”&k).Value <= Range(“ B”&k).Value or Range(“ D”&k).Value <= Range(“ C”&k).Value然后Range(“ E”&k).Value =“购买”其他Range(“ E”&k).Value =“不购买”如果下一个k结束,则结束