Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏进行查看学习,愿与君携手共进!
在上一章节我们已经学习过如何使用IF—Then条件判断语句,这个在判断单个条件的时候或许非常的实用,但是在多条条判断的时候,我们为了避免难以弄清的复杂的嵌套的If语句,在这个时候你可以选择使用Select Case语句代替他完成这个。先来看看Select Case语句的解释和使用方法:
Select Case 测试表达式
Case 表达式1
如果表达式1匹配测试表达式的语句
Case 表达式2
如果表达式2匹配测试表达式的语句
Case 表达式N
如果表达式N匹配测试表达式的语句
Case Else
如果没有表达式匹配测试表达式要执行的语句
End Select
对以上的语法我们说几点注意事项:
1、Select Case和End Select之间放置任意多个条件以测试。子句Case Else是可选的,我们通常在这里写没有考虑到的情况的代码或者提示错误信息。
2、当执行的时候遇到Select Case,它会记下测试表达式的值。然后它前进到下面的第一个Case子句,如果这个表达式的值和测试表达式的值匹配的话,就会执行语句直到遇到另外一个Case子句并且跳到End Select语句。然而,如果第一个Case子句后面的表达式测试结果和测试表达式不匹配时,就会检查每一个Case子句,直到它找到一个匹配的为止。如果没有一个Case子句后面的表达式匹配测试表达式的值的话,VB就会跳到Case Else子句并执行该语句直到遇到关键字End Select。
3、Case Else子句是可选的,如果你的程序里面没有使用Case Else并且没有一个Case子句的表达式和测试表达式相匹配,VB就会跳到End Select后面的语句,并且继续执行你的程序。
Select Case语句经常用于将某变量或表达式的值,与一组数据分别进行比较,判断相等或不相等,并执行相应的分支语句列,通常写出来的代码会比If-Else语句的整洁,容易看懂;
现在我们举2个例子来说明如何使用这个语句,让你不再迷茫。
Step-01 Select Case单条件判断实现的方式,这个和我的IF—Then语句比较类似,我们可以对比来学习。在使用这个语句的时候,我们通常是把最有可能的结果放置在最前面,这个可以加快程序的执行速度。
Sub select单条件判断()
i = 1
Select Case i
Case Is > 0
MsgBox "正数"
Case Else
MsgBox "负数"
End Select
Step-02 Select Case多条件判断实现的方式,你有没有发现这个语句的可读性是不是比IF语句好一点,这个写出来的话,思路是非常清晰的,并且容易发现这个是不是没有考虑完善,一眼就可以看到,这个并且可以扩展,也就是说我们在Case的语句可以放置多行执行语句,这个并不受数量限制。
Sub select多条件判断()
Select Case Sheet1.[d1].Value
Case "A"
Sheet1.[a3] = "A型血的你,是个不怎么样的人!"
Case "B"
Sheet1.[a3] = "B型血的你,也是个不怎么样的人!"
Case "AB"
Sheet1.[a3] = "AB型血的你,是个更不怎么样的人!"
Case "O"
Sheet1.[a3] = "O型血的你,还是不错的!"
Case Else
Sheet1.[a3] = "大哥,你是奇葩,居然没有你的血型!"
End Select
End Sub
我们说了VBA中间的条件判断语句,我们至此已经把条件判读语句说完了。在一章节我们将会说到循环语句的使用方法。在这里我们说下If--Then和Select case 都是用来处理多条件的语句,但是他们的区别在于:
1. If elseif .. 的每个分支都是独立的表达式,只有在前一个分支没有匹配才进行后一个分支的表达式判断。
2. select case一般用于对同一个表达式不同结果值分支的语句
好啦!快乐的时间总是非常短暂的,又到了和大家说再见的时候,如果大家感觉本文如果对你有所帮助的话,请帮忙转发点赞,谢谢您能观看到现在,我们下期再见!
我是Excel教案,关注我持续分享更多的Excel技巧!
如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。
热门跟贴