vba-条件语句

根据条件的值,可使用 If...Then...Else 语句运行指定的语句或一个语句块。If...Then...Else 语句可根据需要嵌套多级。然而,为了可读性可能会使用 Select Case 语句而不使用多嵌套级的 If...Then...Else 语句。

如果条件为 True 则运行语句

当条件为 True 时,若只要执行一个语句,则可以使用单行的 If...Then...Else 语法。下列的示例显示了单行语法,省略了 Else 关键字:

Sub FixDate()
    myDate = #2/13/95#
    If myDate < Now Then myDate = Now
End Sub

为了运行多行代码,必须使用多行的语法。而此语法包含 End If 语句,如同下面示例所示:

Sub AlertUser(value as Long)
    If value = 0 Then
        AlertLabel.ForeColor = "Red"
        AlertLabel.Font.Bold = True
        AlertLabel.Font.Italic = True
    End If
End Sub

如果条件为 True,运行某些语句;条件为 False,运行其它的语句

使用 If...Then...Else 语句可以定义两个可执行的语句块:其中一个块会在条件为True 时执行;而另一个块会在条件为 False 时执行。

Sub AlertUser(value as Long)
    If value = 0 Then
        AlertLabel.ForeColor = vbRed
        AlertLabel.Font.Bold = True
        AlertLabel.Font.Italic = True
    Else
        AlertLabel.Forecolor = vbBlack
        AlertLabel.Font.Bold = False
        AlertLabel.Font.Italic = False
    End If
End Sub

如果第一个条件为 False 时,测试第二个条件

如果第一个条件为 False,则可以在 If...Then...Else 语句中加上 ElseIf 语句来测试第二个条件。例如,下列的函数过程根据工作分类来计算奖金。如果所有 If ElseIf 语句中条件都是 False,则会运行跟在 Else 语句之后的语句。

Function Bonus(performance, salary)
    If performance = 1 Then
        Bonus = salary * 0.1
    ElseIf performance = 2 Then
        Bonus = salary * 0.09
    ElseIf performance = 3 Then
        Bonus = salary * 0.07
    Else
        Bonus = 0
    End If
End Function
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值