Excel VBA 的 If else

在 Excel VBA 中,If...Else 語句是一種基本的控制結構,用於根據條件的真偽執行不同的代碼塊。它允許程序在運行時做出決策,是編寫有效 VBA 腳本的關鍵工具之一。

基本語法

If condition Then
    ' 當條件為真時執行的代碼
Else
    ' 當條件為假時執行的代碼
End If

使用 ElseIf

當需要檢查多個條件時,可以使用 ElseIf 來擴展 If 語句:

If condition1 Then
    ' 當 condition1 為真時執行的代碼
ElseIf condition2 Then
    ' 當 condition2 為真時執行的代碼
Else
    ' 當所有條件都為假時執行的代碼
End If

例子

1. 簡單的條件判斷

這是一個最基本的 If...Else 用法,根據 A1 單元格的值判斷其是否大於 10。

Sub CheckValue()
    Dim cellValue As Integer
    cellValue = Range("A1").Value
    
    If cellValue > 10 Then
        MsgBox "A1 的值大於 10"
    Else
        MsgBox "A1 的值小於或等於 10"
    End If
End Sub

2. 使用 ElseIf 判斷範圍

這個例子判斷 A1 單元格的值在不同範圍內的情況:

Sub CheckRange()
    Dim cellValue As Integer
    cellValue = Range("A1").Value
    
    If cellValue < 0 Then
        MsgBox "A1 的值是負數"
    ElseIf cellValue = 0 Then
        MsgBox "A1 的值是零"
    ElseIf cellValue > 0 And cellValue <= 10 Then
        MsgBox "A1 的值在 0 到 10 之間"
    Else
        MsgBox "A1 的值大於 10"
    End If
End Sub

3. 判斷多個條件

使用 And 和 Or 來組合多個條件判斷:

Sub CheckMultipleConditions()
    Dim score As Integer
    score = Range("A1").Value
    
    If score >= 60 And score < 80 Then
        MsgBox "及格但未達到優秀"
    ElseIf score >= 80 Then
        MsgBox "優秀"
    Else
        MsgBox "不及格"
    End If
End Sub

4. 檢查字串內容

可以使用 If...Else 來檢查字串的內容:

Sub CheckString()
    Dim studentName As String
    studentName = Range("A1").Value
    
    If studentName = "Alice" Then
        MsgBox "歡迎,Alice!"
    ElseIf studentName = "Bob" Then
        MsgBox "歡迎,Bob!"
    Else
        MsgBox "不認識的學生"
    End If
End Sub

5. 嵌套的 If 語句

在一些情況下,可能需要使用嵌套的 If 語句:

Sub NestedIf()
    Dim age As Integer
    age = Range("A1").Value
    
    If age >= 18 Then
        If age >= 65 Then
            MsgBox "您是老年人"
        Else
            MsgBox "您是成年人"
        End If
    Else
        MsgBox "您是未成年人"
    End If
End Sub


If...Else 語句是 Excel VBA 中強大的決策結構,能夠根據條件的不同執行不同的代碼塊。通過學習如何使用 If...Else、ElseIf、以及邏輯運算符如 And 和 Or,可以極大地提升 VBA 編程的靈活性。掌握這些基本用法後,你將能夠更自信地編寫複雜的邏輯判斷,從而使你的 Excel 自動化任務更加高效。



發佈留言

0 留言