本文由日文译成中文。

Excel VBA 可用于根据条件 “If…Then…Else” 语句和 “Select Case” 语句改变处理方式。

< Sponsored Links >





语法 “If…Then…Else”

如果有一个条件表达式(If…Then…Else Statement)

If 条件表达式 Then
    当条件表达式为真时进行处理
Else
    条件表达式为假时的处理
End If

 

以上是两个或多个条件表达式(If…Then…ElseIf Statement)

If 条件表达式1 Then
    当条件表达式 1 为真时进行处理
Else If 条件表达式2 Then
    当条件表达式 2 为真时进行处理
Else If 条件表达式3 Then
    当条件表达式 3 为真时进行处理
Else
    当所有条件表达式均为假时进行处理
End If

 

示例 “If…Then…Else”

If…Then…Else Statement

Sub IfTest1()
    Dim a As Integer
    a = 1
    If a = 1 Then
        MsgBox "a 为 1"
    Else
        MsgBox "aは1ではありません"
    End If
End Sub

 

If…Then…ElseIf Statement

Sub IfTest2()
    Dim a As Integer
    a = 4
    If a = 1 Then
        MsgBox "a 为 1"
    ElseIf a = 2 Then
        MsgBox "a 为 2"
    ElseIf a = 3 Then
        MsgBox "a 为 3"
    Else
        MsgBox "a 不是 1、2 或 3"
    End If
End Sub

 

语法 “Select Case”

Select Case 语句是按顺序执行的,从上面一行开始,所以在处理完条件匹配后,Select Case 语句就会退出,不再做任何决定。

Select Case 变量名或条件表达式
    Case 条件表达式1
        当条件表达式 1 为真时进行处理
    Case 条件表达式2
        当条件表达式 2 为真时进行处理
    Case Else
        当所有条件表达式均为假时进行处理
End Select

 

示例 “Select Case”

评审等级

Sub SelectCaseTest1()
    Dim tokuten As Integer
    tokuten = 59
    Select Case tokuten
        Case 90 To 100  ' 如果变量介于 90 和 100 之间
            MsgBox "成绩优异。"
        Case 80 To 89  ' 如果变量介于 80 和 89 之间
            MsgBox "成绩优异。"
        Case 70 To 79  ' 如果变量介于 70 和 79 之间
            MsgBox "成绩良好。"
        Case 60 To 69  ' 如果变量介于 60 和 69 之间
            MsgBox "成绩可以接受。"
        Case Else  ' 如果变量不符合所有条件
            MsgBox "等级是不可接受的。"
    End Select
End Sub

 

下記は比較演算子を使った場合です。(上記と同じ)

Sub SelectCaseTest2()
    Dim tokuten As Integer
    tokuten = 90
    Select Case tokuten
        Case Is >= 90  ' 如果变量大于 90
            MsgBox "成绩优异。"
        Case Is >= 80  ' 如果变量大于 80
            MsgBox "成绩优异。"
        Case Is >= 70  ' 如果变量大于 70
            MsgBox "成绩良好。"
        Case Is >= 60  ' 如果变量大于 60
            MsgBox "成绩可以接受。"
        Case Else  ' 如果变量不符合所有条件
            MsgBox "等级是不可接受的。"
    End Select
End Sub

 

其他例子

Sub SelectCaseTest3()
    Dim i As Variant
    i = "aiueo"
    Select Case i
        Case 1 To 5
            MsgBox "变量介于 1 和 5 之间"
        Case 6, 7, 8
            MsgBox "变量为 6、7 或 8"
        Case Else
            MsgBox "变量不是 1-8"
    End Select
End Sub

 

< Sponsored Links >