On…GoSubステートメント 解説(Excel VBA)

On…GoSub ステートメントの解説

概要

「On…GoSub ステートメント」は、VBAプログラミングにおいて、特定の条件に基づいてサブルーチンへのジャンプを制御するためのステートメントです。しかし、このステートメントは古いバージョンのBASIC言語で使用されていたもので、現代のVBAプログラミングにおいてはあまり推奨されません。

意義

古いBASICプログラムをVBAに移植する際や、既存のコードを理解する必要がある場合に、「On…GoSub ステートメント」の知識が役立ちます。しかし、新しいプログラムを書く際には、このステートメントの使用を避け、より現代的なエラー処理やフロー制御の手法を使用することが推奨されます。

構文

On expression GoSub label1[, label2, ...]

パーツ

expression
評価される数値式。この式の結果に基づいて、指定されたラベルのサブルーチンにジャンプします。
label1, label2, …
ジャンプ先のサブルーチンのラベル。

パラメータ

expression
0から始まる数値式。この値が1なら、label1にジャンプ、2ならlabel2にジャンプ、というように動作します。

サンプルプロシージャ

以下は、On…GoSub ステートメントを使用したサンプルコードです。

Sub OnGoSubExample()
    Dim value As Integer
    value = 2
    On value GoSub FirstLabel, SecondLabel

    Exit Sub

FirstLabel:
    MsgBox "最初のラベルにジャンプしました"
    Return

SecondLabel:
    MsgBox "2番目のラベルにジャンプしました"
    Return
End Sub

関連するステートメントや関数

「GoTo ステートメント」: 無条件で指定されたラベルの位置にジャンプします。

注意事項

「On…GoSub ステートメント」は古いステートメントであり、現代のVBAプログラミングにおいては使用を避けるべきです。代わりに、If文やSelect Case文を使ってフロー制御を行い、サブルーチンや関数を呼び出す方法を採用することを推奨します。