分享

程序控制结构--If..Then系列语句

 L罗乐 2018-06-08


大家好,之前概述过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函数,并说明代码缩进问题。希望通过示例中程序的书写过程来帮助大家来理解完整的程序,祝大家学习愉快。




Live and Learn

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多