
在基本所有的计算机语言中都存在判断语句,简单理解就是当程序满足我们设定的条件的时候就执行相应代码。不满足则执行另外的代码。这样我们的代码就变得更灵活了。(寻常条件判断语句时常和循环语句配合实用,毕竟有时候我们需要在一群数据中进行筛选出我们需要的数据,当然Excel中有相应的筛选工具。但是在处理大量数据时就比不过VBA了,而且没有VBA灵活),下面介绍语句的基本结构:
条件判断语句这个语句很好理解,就是当If遇到满足判断条件时,执行下面程序。最后End If。值得注意的是代码缩进。
初识
下面来举个例子:在一个小王与小明的月份工资表中筛选出大于或者等于5000元的月份。
首先,我们来看看筛选出小王的工资如何操作:

结果:

但是这时候我们会发现筛选出的中间会有空的单元格影响美观,所以这里我们可以再加一个变量再条件语句中。当满足条件时F列才写入数据。
增加一个变量结果如下:

现在我们将小明的工资也算进去。

这里的写法略显简陋,无外乎增加了一个条件判断。结果如下:

其它
If条件判断并不仅仅是上面简单的实用,这样写代码清晰易读但是较为繁琐。下面我们来学习其它的相关的关键字,看能不能简化过程。
首先关于If……End If可以将代码写至一行,就可以省略End If,如下:

执行结果跟前面一样。
Else:
关于Else很好理解就像它的英文翻译一样,其它的。那么就理解为满足if条件以外的情况。且必须位于结构的最后面。我们日常的生活中也经常碰到,例如公司放假,双休的放几天,单休制放几天,其他人按几天放假等等。(注意Else必须位于条件判断体内,否则报错。Else也可以合并为一行书写)。
下面举个例子:把上面小王的工资大于等于5000的填充为蓝色,不满足的填充为绿色。

结果:

ElseIf:
在我们日常生活会存在多种情况的选择,并不单单是不这样就那样。所以ElseIf就是帮助我们实现多分支结构的存在。
其中有几个需要注意的地方:
注意不同于其它的语言中间不能有空格书写成Else If,这一点与其它的计算机语言中倒是不一样。
每个ElseIf后面都要跟一个Then
如果有多个ElseIf 符合条件,VBA 只会执行第一个ElseIf 中的代码。
ElseIf不适用于单行写法
举个例子,我们把小王的工资6000以上的填充绿色,5000~5500填充蓝色,其它填充红色。

结果

关于条件结构还有逻辑表达式就好比上面的“and"等,还有Select……Case,留待下一篇介绍,关注我持续更新。完整思维导图更新完后将免费放在文章中。