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