On...GoSub、On...GoTo


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