在 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 留言