根據表達式的值,分支到指定多 行中的一行。
語法
在表達式 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 支援與意見反應。