大家好,之前概述过VBA的程序控制结构,本节将详细介绍判断结构中的If...Then系列语句,判断结构相当于汽车的方向盘,它让VBA程序可以根据条件规则来进行判断,然后执行不同分支语句。
判断结构都可以直接套用固定形式,下面就从If...Then...Elself语句开始,先介绍基础知识,再举例说明。
一、if...then...elseif 语 句
语句结构不难理解,If...Then...Else语句是针对多个不同条件进行判断,根据判断结果来执行不同的语句,语法结构如下:
IF 逻辑表达式1 Then
语句序列1
Elseif 逻辑表达式2 Then
语句序列2
Elseif 逻辑表达式3 Then
语句序列3
...... ......
Else
语句学列n
End If
结构中不同的逻辑表达式就是不同的条件判断,每个then后是对应的执行语句,结构中可以有任意多个的elseif条件和语句。
结构的逻辑先判断逻辑表达式1是否成立,如果成立就执行语句语句序列1然后结束,如果不符合就进行逻辑表达式2判断,成立就执行语句序列2并结束,不成立就进行逻辑表达式3的判断....依次类推。直到如果所有条件都不符合就执行Else后面的语句,最后End If结束。
下面我们通过举例说明,比如评测学生成绩90分以上为优秀,80分以上为良好,60分以上为及格,其他为不及格,那么套用IF...Then...Elseif语句结构来编写代码。
下面我们就分节来讲解下代码,帮助理解。Sub过程和声明变量就不再单独介绍,有疑问可以查看以前章节。
1、数据输入 inputbox函数
这里通过最简单的inpubox函数来输入值,对于语句先有印象即可,后期还会再细致讲解,通过inputbox函数可以在对话框中输入值,赋值给变量i。
2、if...then...else判断结构
变量i获得赋值后进行逻辑判断,比如输入值85,逐个条件判断,>90不符合,就向下判断,>80符合条件,则变量j结果为良好。
在书写逻辑结构判断时需要注意顺序,比如数值范围判断,需要先从最小的范围开始,再逐步扩大范围。假若第一个条件是>60为及格,输入值为90时,>60即满足条件而不会进行其他判断,得到的结果就是及格而不是优秀。
3、立即窗口显示结果
通过debug.print语句显示再立即窗口打印结果(注意debug.print语句时在判断结构之外的,即显示的是判断后的结果。)
4、注意代码缩进
示例中的非结构的执行语句,书写时基本都是缩进两格,代码缩进主要是保持结构清晰,增加可阅读性,通常用键盘上的Tab键来缩进,希望大家养成良好习惯。
掌握了if..then..elseif完全版的语句后,其它if..then语句都是它的简化版,应用在不同数量条件的场合即可,下面简略说明。
二、if...then...else 语 句
语句只是有符合与不符合条件两种条件判断结果,语句结构如下。
IF 逻辑表达式 Then
语句序列1
Else
语句学列2
End If
语句内容与前面基本相同,不再细讲,下面通过编写代码过程来帮助理解。
代码相对很简单,但小程序包括一般计算机算计程序的三个基本过程:1、用户输入数据,2、程序按一定算法来处理数据,3、最后输出程序的处理结果。即使游戏程序也是同样的,比如输入操作、程序执行操作、展示操作结果。
三、if...then 语 句
下面是最简单的判断结构形式,即单个条件判断对应的执行语句,其格式如下:
IF 逻辑表达式 Then
语句1
语句2
.......
End If
结构简单不再详细讲解,if..then系列判断结构就介绍完毕,大家可以自行编写代码尝试。
本节主要重点介绍 if...then...elseif 判断语句,以及它的各简化版,针对条件的数量来套用合适的语句即可,需注意判断规则的顺序。
本节引出数据输入的inputbox函数,并说明代码缩进问题。希望通过示例中程序的书写过程来帮助大家来理解完整的程序,祝大家学习愉快。
本文分享自 Excel和Access学习笔记 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!