在 Excel VBA 中,End 是一個關鍵字,具有多種用途,主要用於終止程序的執行、結束語句塊、以及結束循環等。理解 End 的用法對於有效編寫和管理 VBA 代碼至關重要。
一、End 語句的基本用途
1. 終止程序
End 可以用來立即終止整個 VBA 程序,使程序在運行時停止。
例子:終止程序
Sub EndProgram()
MsgBox "程序即將結束。"
End ' 終止程序
MsgBox "這條消息不會顯示。" ' 此行不會執行
End Sub
這段代碼顯示一個消息框,然後使用 End 終止程序,後面的消息框不會執行。
2. 結束 Sub 或 Function
在 Sub 或 Function 中,可以使用 End 來結束當前的子程序或函數。
例子:結束 Sub
Sub EndSubExample()
MsgBox "這是第一步。"
End ' 結束當前的 Sub
MsgBox "這條消息不會顯示。" ' 此行不會執行
End Sub
在這個例子中,End 使得 Sub 的執行在第一個消息框後立即停止。
二、End If 和 End Select
1. 結束 If 語句
在使用 If...Then...Else 結構時,必須使用 End If 來結束這個條件語句。
例子:使用 End If
Sub EndIfExample()
Dim score As Integer
score = 85
If score >= 60 Then
MsgBox "您已通過考試!"
Else
MsgBox "您未通過考試。"
End If ' 結束 If 語句
End Sub
這段代碼檢查分數,並根據結果顯示相應的消息,End If 結束了這個條件語句。
2. 結束 Select Case 語句
在使用 Select Case 結構時,End Select 用來結束這個選擇語句。
例子:使用 End Select
Sub EndSelectExample()
Dim day As Integer
day = 3
Select Case day
Case 1
MsgBox "今天是星期一。"
Case 2
MsgBox "今天是星期二。"
Case 3
MsgBox "今天是星期三。"
Case Else
MsgBox "無效的日期。"
End Select ' 結束 Select Case 語句
End Sub
這段代碼根據變數 day 的值顯示相應的星期幾,End Select 結束了整個選擇結構。
三、結束循環
1. 結束 For 循環
在 For 循環中,不需要使用 End,但可以在需要時使用 Exit For 來提前結束循環。
例子:提前結束 For 循環
Sub ExitForExample()
Dim i As Integer
For i = 1 To 10
If i = 5 Then
MsgBox "提前結束循環。"
Exit For ' 提前結束循環
End If
MsgBox i
Next i
End Sub
這段代碼在 i 等於 5 時提前退出循環。
2. 結束 Do While 循環
可以在 Do While 循環中使用 Exit Do 來提前結束循環。
例子:提前結束 Do While 循環
Sub ExitDoWhileExample()
Dim count As Integer
count = 1
Do While count <= 10
If count = 7 Then
MsgBox "提前結束循環。"
Exit Do ' 提前結束循環
End If
MsgBox count
count = count + 1
Loop
End Sub
這段代碼在 count 等於 7 時提前結束循環。
四、總結
在 Excel VBA 中,End 關鍵字和相關的結束語句(如 End If 和 End Select)對於控制程序的流向和結束語句塊至關重要。了解如何正確使用這些結束語句,能夠幫助我們編寫更清晰和可讀的代碼。希望這些例子能幫助你更好地掌握 End 的用法!


0 留言