Excel VBA中执行判断的方法概括来说可以分为三种:1.IIf函数;2.Select Case语句;3.If语句。下面通过实例说明三种方法的使用,以及在使用时应注意的问题。

前期准备工作(包括相关工具或所使用的原料等)
Excel & VBA一、简洁的IIf函数
IIf函数最简洁,它是以函数的形式返回函数值赋给相应变量。IIf函数有三个输入参数:第一个参数是逻辑判断,第二个参数是判断结果为“真”时执行的表达式,第三个参数是判断结果为“假”时执行的表达式。

下面的图中是用IIf函数实现判断成绩是否为优秀的代码,以及相应的执行过程。





需要注意的是,IIf函数的三个参数都是必需的,特别要注意,如果后两个参数为表达式时,无论判断条件结果是否为真,两个表达式都执行,但只将符合判断条件的结果返回,所以,后面两个参数不能含有错误的计算,如:不能含有除数为0的表达式。图中过程 ChuFaYunSun() ,如果ChuShu输入值为0,执行时就会出错,并弹出错误提示。






二、.优雅的Select Case语句
Select Case语句在判断单个的变量时更好,它能是代码变得优雅起来,整齐而简洁,特别是当判断的变量有多重值,并且每个不同的值都会有不同操作时,代码会更加易懂。

图中过程GetScoreRange() ,能够根据输入的成绩等级得出分数范围。当输入成绩等级无效时也会有相应提示。





图中的过程GetScoreClass() 可以通过输入的分数范围得出成绩等级。因为Select语句的Case部分无法表示大于等于90并且小于等于100类似的语句,所以只能用整数成绩分数进行约束(代码中的CInt函数会将输入数据四舍五入),例如,输入89.5会四舍五入为90,并判断为“优秀”,这与实际有所不符。



三、强大的If语句
If语句是VBA中执行判断最强大的方法,它可以是一行语句,也可以与ElseIf以及Else等组成复杂的逻辑判断结构。所有的IIF函数和Select Case语句都能用If语句改写。

上述Select Case语句的第二个实例可以用If语句进行更精确的实现。图中所示的过程就能实现与实际情况一致的判断:当输入89.5时,判断为“良好“,同时也能实现IIf函数和Select Case语句能够实现的一切功能。





注意事项
此经验针对对Excel VBA有一定了解的读者,至少要知道代码的编写环境怎么进入,以及怎样执行代码,所以经验正文对此不再赘述。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
