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文を使ってフロー制御を行い、サブルーチンや関数を呼び出す方法を採用することを推奨します。