Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏进行查看学习,愿与君携手共进!
相信大家经过前面的学习已经能够轻松的说出什么是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判断语句的执行效率的。
好啦!快乐的时间总是非常短暂的,又到了和大家说再见的时候,如果大家感觉本文如果对你有所帮助的话,请帮忙转发点赞,谢谢您能观看到现在,我们下期再见!
我是Excel教案,关注我持续分享更多的Excel技巧!
如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。