使用 If...Then...Else 语句 (VBA)
可以根据一个条件的值,使用 If...Then...Else 语句运行一个特定的语句或一个语句块。 可以根据需要将 If...Then...Else 语句嵌套到多个级别。
但为了实现易读性,需要使用一个 Select Case 语句,而不是使用多级别的嵌入 If...Then...Else 语句。
如果条件为 True,则运行语句
如要在条件为 True 时仅运行一个语句,请使用 If...Then...Else 语句的单行语法。 以下示例演示单行语法,省略 Else关键字 (keyword) 。
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 ,则可以将 ElseIf 语句添加到 If...Then...Else 语句来测试第二个条件。 例如,下面的 Function 过程将基于工作分类来计算奖金。 如果所有 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
另请参阅
Visual Basic 概念性主题
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。
最新发布
-
QQ飞车手游恒星获取方式和素质分析
2026-06-18 06:50:24 -
《全民k歌》创建家族方法
2026-07-11 10:00:29 -
王者荣耀暃技能有哪些
2025-10-09 19:27:01 -
嘣战纪2025春季狂欢节:史诗级挑战与丰厚奖励等你来战!
2025-04-15 06:57:59 -
圣武战记:周年庆狂欢大冒险
2025-05-05 00:11:26 -
想死怎麼辦?一起認識憂鬱警訊,學習如何接住自己與身旁的人
2025-10-24 03:43:12 -
机甲战队:星际征途——2025全球机甲指挥官联合行动暨跨星系资源争夺战
2025-04-03 14:05:31 -
逐鹿大唐:盛世争霸·天命之战——2025春季跨服联赛暨全服庆典狂欢季
2025-04-11 05:14:39 -
"eh? "是什么意思? -关于英语 (美国)(英文)
2026-10-02 23:41:49 -
2026手机语音导航软件APP推荐排行榜
2026-01-07 04:23:33