On...GoSub、On...GoToステートメント
構文
On expression GoSub destinationlist
On expression GoTo destinationlist
expressionには、0~255までの整数値を指定します。
destinationlistには、分岐先の行ラベルまたは行番号をカンマ(,)で区切って指定します。
解説
式の値に応じて、対応する分岐先へ処理を移します。
たとえば、
On 2 GoTo Sub1, Sub2, Sub3
では、Sub2へ分岐します。
VBAなどの構造化言語では、一般的にGotoやGoSubによる処理の分岐は推奨されていません。
ただし、On Error Gotoによるエラー処理へのジャンプは、ケースによっては効果的です。
サンプル
次の例は、式の値に応じて処理を分岐させます。
Sub Sample()
Dim Num As Integer
Num = 2
On Num GoSub Sub1, Sub2, Sub3
Num = 3
On Num GoTo Sub4, Sub5, Sub6
Sub1:
MsgBox "Sub1"
Return
Sub2:
MsgBox "Sub2" '最初に表示されます
Return
Sub3:
MsgBox "Sub3"
Return
Sub4:
MsgBox "Sub4" '次に表示されます
Sub5:
MsgBox "Sub4"
Sub6:
MsgBox "Sub4"
End Sub