共用方式為


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

根據表達式的值,分支到指定多 行中的一行。

語法

表達GoSub目的地列表
表達GoTo目的地列表

那個......GoSub 以及開啟......GoTo 陳述句語法包含以下部分:

部分 描述
運算式 此為必要動作。 任何能在0到255之間計算為整數的 數值表達 式。 若 表達式 是非整數的任意數,則在評估前會先四捨五入。
目的地列表 此為必要動作。 行 或行 標籤 以逗號分隔的列表。

註解

expression 的值決定了 destinationList 中分支到哪一行。 若 表達 式值小於1或大於清單中項目數,則會出現以下結果之一:

運算式 Then
等於0 控制權降到「On...」後的 陳述GoSub 還是 開......GoTo
清單中項目數量大於 控制權降到「On...」後的陳述。 GoSub 還是 開......GoTo
Negative 發生錯誤。
超過255 發生錯誤。

你可以在同一個清單裡混用行號和行標籤。 在 On... 中可以使用任意多行標籤和行號。 GoSub 以及 開啟......GoTo。 然而,如果你使用比單行更多的標籤或數字,就必須使用 線續字元 來將邏輯線延伸到下一條實體線。

提示

Select Case 提供一種更有結構且彈性的方式來執行多重分支。

範例

這個例子使用 On...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 支援與意見反應