2024年4月19日发(作者:)

条件判断语句

一、IIf函数

(三个参数都为必选参数,这有别于IF函数)

语法:IIf(

expr

,

truepart

,

falsepart

)

部分 描述

必要参数。用来判断真伪的表达式。

必要参数。如果

expr

为 True,则返回这部分的值或表达式。

必要参数。如果

expr

为 False,则返回这部分的值或表达式。

expr

truepart

falsepart

说明

由于 IIf 会计算

truepart

falsepart

,虽然它只返回其中的一个。因此要

注意到这个副作用。例如,如果

falsepart

产生一个被零除错误,那么程序就

会发生错误,即使

expr

为 True。

例1:

Rem 如果A1单元格大于或等于60,则B1单元格显示“及格”,

否则为“不及格”

[b1] = IIf([a1] >= 60, "及格", "不及格")

例2:

Sub 根据月份判断季度()

Dim Months As Byte '声明变量

Star: '设置一个标签

'弹出对话框让用户录入月份,默认为当前月份

Months = ox("请输入月份,只能

是数字", "月份", Month(Date), , , , , 1)

'如果录入的数值小于1或者大于12则返回标签Star

处继续执行

If Months < 1 Or Months > 12 Then MsgBox "只能在

1到12之间": GoTo Star

'四个IIF嵌套运用,其中每个IIF的第一参数使用双

条件,在双条件时需要用And连接

MsgBox IIf(Months > 1 And Months < 4, "一季度",

IIf(Months > 3 And Months < 7, "二季度", IIf(Months >

6 _

And Months < 10, "三季度", IIf(Months > 9 And Months

< 1, "四季度", "录入错误"))))

End Sub

二、单行形式If...Then

在单行形式中,按照 If...Then 判断的结果也可以执行多条语句。所有语句必

须在同一行上并且以冒号分开,如下面语句所示:

例1:

If A > 10 Then A = A + 1 : B = B + A : C = C + B

例2:'声明工作簿打印事件