分享

条件判断IF Else的加持,让VBA能够处理复杂条件,学会了你就是大神

 excel05 2019-09-21

相信大家经过前面的学习已经能够轻松的说出什么是VBA常量和变量,数组等等基本知识点?那么今天我们开始学习Excel 关于VBA中IF多条件语句的用法,让你轻松变大神,学会他了,你就能够跨入VBA世界的大门的钥匙啦!

先来看看对IF函数的解释:一般是指程序设计或Excel等软件中的条件函数,根据指定的条件来判断其“真”(TRUE)、“假”(FALSE),根据逻辑计算的真假值,从而返回相应的内容。其实VAB中间的IF函数和我们工作表的IF函数差不多,只是写法稍许有些不同。

if语句的含义:if语句字面意思就是如果条件为真,那么就执行if语句里面的程序,这个程序,一般指then后面的语句。另外需要说的一点是一个if语句可以没有end if,但绝对不能没有then,这一点是我们要注意到的。一个If或ElseIf语句可以嵌套在另一个If或ElseIf语句中。内部的If语句是根据最外层的If语句执行的。这使得VBA能够轻松处理复杂的条件。

我们对这个IF判断函数分为4步为你揭开她的神秘面纱,学会了,你就能够处理一些录制宏不能完成的操作了。

Step-01 if……then……结构,这个结构的使用方法和我的工作表的IF函数有的类似,但是又不是完全相同。这个结构一般用在我们比较简单的判断语,我们通过如下的实例让你学会他!

实例:如果A1单元格不为空,那么就执行Then后面的语句,即弹出一个提示框“单元格不为空”

 Sub Step01()

If Range('a1') <> '' Then MsgBox '单元格不为空'

End Sub

 可以发现,这个语句只能完成一个条件判断,即我们判断A1单元格是不是为空,如果我们要同时增加一个条件来判断B1单元格是不是同时为空,那么这种写法就完成不了,这个时候我们可以对他进行改善,增加AND语句,如下所示:

Sub Step01()

If Range('a1') <> '' And Range('b1') <> '' Then MsgBox '单元格不为空'

End Sub

Step-02 if……then……结构,这个语句同样是用于单选择判断语句,具体用法看下面实例。

实例:如果单元格A11不为空值了,那么在相应的第二列单元格输出“我是Excel,喜欢可以关注我”

 Sub Step02()

If Cells(11, 1) <> '' Then

Cells(11, 2) = '我是Excel,喜欢可以关注我'

Exit For

End If

End Sub

其实这种写法才是IF-then-End IF语句的最官方的写法,最最标准的写法。聪明的你,肯定发现上面第一个语句就是这个语句就是缩写方法。此时相信你已经能够明白单条件的IF的语句的使用方法啦!

Step-03 if ……then……else……end if结构,这个结构通常被我们用于2个条件的判断,即他们判断只有两个可能的情况先选择的判断语句,即一个硬币不是正面朝上的话,那么必定是反面朝上,具体我们可以见下面实例。

实例:对于A1单元格进行判断,如果单元格值为空,则在相应的B1单元格输出false,否则在C1输出Ture。

 Sub Step03()

If Range('a1') = '' Then

Range('b1') = 'False'

Else

Range('c1') = 'True'

End If

End Sub

这个语句也是比较好理解,适用于场合为只有两种结果的情况下,我们只要按需选择即可。

Step-04 if ……then……elseif……then……else……end if结构,该结构用于多条件判断语句执行,很多时候,你需要检查非常多种的情况,你可以使用子句ElseIf来将一些If条件结合在一起。使用If…Then…ElseIf语句,你可以比用前面中的If…Then…Else语句可以完成更多的条件判断。这里是If…Then…ElseIf语句的语法:

PS: Else子句是可选的;如果当所有条件为假时,没有要执行的操作,那么你就可以忽略它。你的程序里可以包括任何多个ElseIf子句和条件。ElseIf子句总是出现在Else子句之前的,只有当ElseIf子句的条件为真时,它的语句才会被执行。

实例:A列的学员成绩进行分析判断,当他们的大于等于80分的为优秀;60到80之间的为及格;0到60分之间的为不及格;0分为考试无效。执行完成以后的结果如C列所示。

这个多条件判断是我们常用的,也是我们数据处理的时候经常会用的,对于这个的结构的理解,你可以将ElseIf—then理解为IF—Then单个结构进行叠加而成的,就像一件房子是可以有很多块砖瓦进行叠加的一样。

Step-05 if语句嵌套使用,这是也是我们常常用于多条件判断的语句,这个IF---Then函数之支持多层嵌套的,就如同我们2007版本的工作表IF函数支持不超过7层嵌套,有了嵌套,就让他真的变得异常强大,相信对函数熟悉的小伙伴肯定非常熟悉啦!

 如上例子我们只是嵌套了2个IF 语句,当然你可以嵌套更多的语句,当然你增加的判断逻辑越多,那边他执行的效率将会下降,这个是在后面的学习会告诉你,如何加快多层IF判断语句的执行效率的。

好啦!快乐的时间总是非常短暂的,又到了和大家说再见的时候,如果大家感觉本文如果对你有所帮助的话,请帮忙转发点赞,谢谢您能观看到现在,我们下期再见!

如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

亲们,如果你感觉本文对你有帮助的话,请随手帮忙点击一下下方的广告,谢谢您的举手之劳,在下不胜感激!!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多