VBA入门--分支结构判断(IfElse/SelectCase)
2017-04-16 10:53
776 查看
在工作中,分支判断是最常用的,尤其是IF语句,职场小白也都会使用,总结一下知识点。
¤IF分支结构¤
VBA的分支结构中,最常用的就是IF…Then…Else结构,这个结构在所有的编程语言中的逻辑都是一致的,哪怕是Excel的函数都一致,唯一需要注意的区别,就是在各种语言中的形式,其语法为
其中,condition是逻辑判断表达式,所以该结构的逻辑如下:
注意:第一个形式,是单行形式,Then关键字之后只有一句表达式,而且可以省略Else和endif,建议只有一个简单判断的时候,一句判断就够用了,但是稍微复杂一点的,Then后面的语句有个任务需要执行,就老实的用下面的完整形式,举个例子:
¤SelectCase分支结构¤
Select和IF一样,是VBA中常用的分支结构,当对同一个表达式的值进行多次判断,并根据判断需要进行不同程序的操作时,Select Case是经常被用到的,其语法结构如下:
示意图如下:
知识点:
1、Select…Case结构中,程序将按照从上到下的顺序进行判断,一单满足任何一个Case分支,即可进入执行该分支中的所有语句,执行完成后退出Select…Case语句。
2、Select…Case语句,只能执行分支中的一个语句,但是,对各个语句的判断内容是没有限制的,也即判断的内容可以有overlap,这一点和IF有绝对区别的。
3、Select…Case分支结构,testexpression进行判断,其书写方式比较特殊,有以下几种方式:
大于、小于或不等于某个值,表示为“Case Is >/</<>值”
等于某个值,表示为“Case 值”
在某个范围内,表示为“Case下限to上限”
多个条件间可用逗号隔开,如“Case 1 to 4,7 to 9,11,13”
4、Select和IF分支结构基本上可以互相转换的,他们的主要区别是Select分支结构只能对同一个表达式的值进行分支判断,而IF却不受该限制。因此,IF分支结构比Select要常用,但是Select可以秀技能,哈哈。
¤IF分支结构¤
VBA的分支结构中,最常用的就是IF…Then…Else结构,这个结构在所有的编程语言中的逻辑都是一致的,哪怕是Excel的函数都一致,唯一需要注意的区别,就是在各种语言中的形式,其语法为
If condition Then [statements] [Else elsestatements] 或者 If condition Then [statements] [ElseIf condition-n Then [elseifstatements]… [Else [elsestatements]] End If
其中,condition是逻辑判断表达式,所以该结构的逻辑如下:
注意:第一个形式,是单行形式,Then关键字之后只有一句表达式,而且可以省略Else和endif,建议只有一个简单判断的时候,一句判断就够用了,但是稍微复杂一点的,Then后面的语句有个任务需要执行,就老实的用下面的完整形式,举个例子:
Sub IF结构() Dim Score As Integer, i As Integer '一句结构,60分为及格,其他为不及格 For i = 2 To30 IfRange("D" & i).Value >= 60 Then Range("E" &i).Value = "及格" Next i '测试多行语句,90分优秀,60分及格,其他不及格 For i = 2 To30 IfRange("D" & i).Value >= 90 Then Range("E" & i).Value = "优秀" ElseIfRange("D" & i).Value >= 60 Then Range("E" & i).Value = "及格" Else Range("E" & i).Value = "不及格" End If Next i End Sub
¤SelectCase分支结构¤
Select和IF一样,是VBA中常用的分支结构,当对同一个表达式的值进行多次判断,并根据判断需要进行不同程序的操作时,Select Case是经常被用到的,其语法结构如下:
Select Case testexpression [case expressionlist-n [statements-n]] … [case Else [elsestatements]] End Select
示意图如下:
知识点:
1、Select…Case结构中,程序将按照从上到下的顺序进行判断,一单满足任何一个Case分支,即可进入执行该分支中的所有语句,执行完成后退出Select…Case语句。
2、Select…Case语句,只能执行分支中的一个语句,但是,对各个语句的判断内容是没有限制的,也即判断的内容可以有overlap,这一点和IF有绝对区别的。
3、Select…Case分支结构,testexpression进行判断,其书写方式比较特殊,有以下几种方式:
大于、小于或不等于某个值,表示为“Case Is >/</<>值”
等于某个值,表示为“Case 值”
在某个范围内,表示为“Case下限to上限”
多个条件间可用逗号隔开,如“Case 1 to 4,7 to 9,11,13”
4、Select和IF分支结构基本上可以互相转换的,他们的主要区别是Select分支结构只能对同一个表达式的值进行分支判断,而IF却不受该限制。因此,IF分支结构比Select要常用,但是Select可以秀技能,哈哈。
相关文章推荐
- ios入门攻略 04篇 C语言基础【分支结构之if语句】
- JAVA入门.零基础学Java语言 MOOC 第二 第三 第四周 比较 判断 分支 循环 —————— 程序控制结构(顺序,分支,循环)
- mips汇编语言实现if-else分支结构
- C#条件判断-根据条件判断要走的路-if结构
- C#条件判断-多重if结构
- Python学习入门基础教程(learning Python)--3.2 if-else分支语句
- 顺序结构与if-else分支结构
- Visual Studio 2005入门 之 控制结构一(分支)
- Visual Studio 2005入门 之 控制结构一(分支)
- C#条件判断-if语句简单结构
- C#条件判断-根据条件判断要走的路-if结构
- Python学习入门基础教程(learning Python)--3 Python分支结构和布尔逻辑
- C#条件判断-多重if结构
- C language 使用if…else if…else语句实现多分支选择结构*(语法结构同C#)
- 条件分支结构(switch-case)(if-else if-else) 2011.05.09
- C#条件判断-if...else结构
- ASP入门教程-多分支条件选择结构
- 判断与分支的汇编结构
- ORACLE---IF 分支 中的NULL判断和自己做的过程中暴露的错误
- Linux 下shell中if分支结构