Excel VBA 的 End 用法

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