多语言展示
当前在线:771今日阅读:91今日分享:37

Excel VBA执行判断的方法

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

Excel & VBA

一、简洁的IIf函数
1

IIf函数最简洁,它是以函数的形式返回函数值赋给相应变量。IIf函数有三个输入参数:第一个参数是逻辑判断,第二个参数是判断结果为“真”时执行的表达式,第三个参数是判断结果为“假”时执行的表达式。

2

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

3

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

二、.优雅的Select Case语句
1

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

2

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

3

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

三、强大的If语句
1

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

2

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

注意事项

此经验针对对Excel VBA有一定了解的读者,至少要知道代码的编写环境怎么进入,以及怎样执行代码,所以经验正文对此不再赘述。

推荐信息