On .。。GoSub,在 .。。GoTo 語句

根據 運算式的值,分支至其中一個指定的行。

語法

On 運算式 GoSub destinationlist
On 運算式 GoTo destinationlist


[ 開 ...]GoSub開啟 .。。GoTo 語句語法具有以下幾個部分:

部分 描述
運算式 必要。 任何 數值運算式 ,會評估為介於0和255(含)之間的整數。 如果 expression 是整數以外的任何數位,它會在評估之前四捨五入。
destinationlist 此為必要動作。 以逗號分隔的 行號行標籤 清單。

註解

運算式 的值會決定在 destinationlist 中分支哪些直線。 如果 expression 的值小於1或大於清單中的專案數,則會發生下列其中一個結果:

If 運算式 Then
等於0 控制權放下下列的 語句 GoSub開啟 .。。GoTo
大於清單中的專案數 控制權 放下下列的語句GoSub開啟 .。。GoTo
Negative 會發生錯誤。
大於255 會發生錯誤。

您可以在同一個清單中混用行號和行標籤。 您可以使用任意數目的行標籤和行號 。GoSub開啟 .。。GoTo。 不過,如果您使用的標籤或數位超出單一行的大小,則必須使用 行接續字元 ,將邏輯行繼續到下一個實體行。

提示

[選取案例] 提供更具結構化且靈活的執行多個分支的方式。

範例

本範例會使用 .。。GoSub開啟 .。。GoTo 語句分別分支至副程式和行標籤。

Sub OnGosubGotoDemo() 
Dim Number, MyString 
 Number = 2 ' Initialize variable. 
 ' Branch to Sub2. 
 On Number GoSub Sub1, Sub2 ' Execution resumes here after 
 ' On...GoSub. 
 On Number GoTo Line1, Line2 ' Branch to Line2. 
 ' Execution does not resume here after On...GoTo. 
 Exit Sub 
Sub1: 
 MyString = "In Sub1" : Return 
Sub2: 
 MyString = "In Sub2" : Return 
Line1: 
 MyString = "In Line1" 
Line2: 
 MyString = "In Line2" 
End Sub

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應