VBA中常见的判断语句

本文内容

一、If...Then...Else 结构

二、Select Case 语句

三、IIf 函数

(1)If...Then...Else 结构

根据要求条件,使用 If...Then...Else 语句运行一个语句或者一个语句块,得到对应的值。

If...Then...Else 语法:

If '条件 Then
    ' 条件为真时执行的代码
Else
    ' 条件为假时执行的代码
End If

示例:

Sub xx()
    i = "look"
    If i = "look" Then
        s = 1
    Else
        s = 2
    End If
    Debug.Print s
End Sub
#输出结果为1

当有多个条件的情况

如果同时满足两个及以上条件,条件之间可用And连接

If ‘条件1 And '条件2 Then
#后面还有条件就再加一个And

如果有两个及以上条件,只需满足其中一个即可,条件之间可用Or连接

If ‘条件1 Or '条件2 Then
#后面还有条件就再加一个Or

还可用 If...Then...ElseIf...Else 结构

If '条件1 Then
    ' 条件1为真时执行的代码
ElseIf '条件2 Then
    ' 条件2为真时执行的代码
Else
    ' 所有条件都为假时执行的代码
End If

示例:

Sub cc()
    Dim grade As Integer
    grade = 85
    If grade >= 90 Then
        Debug.Print "优秀"
    ElseIf grade >= 80 Then
        Debug.Print "良好"
    ElseIf grade >= 70 Then
        Debug.Print "中等"
    Else
        Debug.Print "不及格"
    End If
End Sub
#输出结果为良好

ElseIf 上的条件之间也可用 And 和 Or 连接

If '条件1 Then
    ' 条件1为真时执行的代码
ElseIf '条件2 And '条件2.1 Then
    ' 条件2和条件2.1都为真时执行的代码
ElseIf '条件3 Or '条件3.1 Then
    ' 条件3或者条件3.1为真时执行的代码
End If

示例:

Sub cc()
    Dim age As Integer
    age = 25
    If age < 18 Then
        Debug.Print "未成年"
    ElseIf age >= 18 And age < 65 Then
        Debug.Print "成年人"
    End If
End Sub
#输出结果为成年人

注意事项:

If...Then...Else 结构允许嵌套使用,可以在 Else 部分使用另一个 If...Then...Else 结构

(2)Select Case 语句

Select Case 语句可以作为 If...Then...ElseIf...Else 语句的替代方法。与 If...Then...Else 语句不同的是,Select Case 语句只在控制结构顶部计算一次表达式,而不是在每个分支中计算。 这使得 Select Case 更适合处理需要对同一变量进行多个不同值比较的情况。

Select Case '表达式
    Case value1
        ' 对应 value1 的代码
    Case value2
        ' 对应 value2 的代码
    Case Else
        ' 未匹配任何值时的代码
End Select

示例:

Sub cc()
    Dim i As String
    i = "Monday"
    Select Case i
        Case "Monday"
            Debug.Print "星期一"
        Case "Tuesday"
            Debug.Print "星期二"
        Case "Wednesday"
            Debug.Print "星期三"
        Case Else
            Debug.Print "其他"
    End Select
End Sub
#输出结果为星期一

(3)IIf 函数

IIf 函数用于在单行中进行条件判断。

result = IIf(condition, truea, falsea)
#condition为计算的表达式
#truea为condition为真时返回的值或表达式
#falsea为condition为假时返回的值或表达式

示例:

Sub cc()
    Dim x As Integer
    x = 10
    Dim result As String
    result = IIf(x, "x 大于 5", "x 小于或等于 5")
    Debug.Print result
End Sub
#输出结果为 x 大于 5
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值