Excel VBA Gotoで指定されたラベル行にプログラムの制御を移動させる

 

Excel VBAの Gotoで、指定されたラベル行にプログラムの制御を移動させるために使用します。具体的な使い方や、注意点やサンプルコードを紹介します。

 

Excel VBA Goto 利用シーン

以下のようなシーンで利用されます。

・特定の条件が満たされた場合に、プログラムの実行を途中で終了させたり、別の部分に移動させたりする必要がある場合に使用します。

・エラーが発生した場合にエラーハンドリングルーチンにジャンプするために使用することがあります。

 

Excel VBA Goto ポイント

・Gotoステートメントは、コードの可読性やメンテナンス性を損なう可能性があります。そのため、適切な制御構造(条件分岐やループなど)を使用することが推奨されます。

・Gotoステートメントを乱用すると、プログラムの動作が予測しにくくなり、バグの原因となる可能性があります。そのため、できる限り使用しないことが望ましいです。

 

Excel VBA Gotoサンプルコード

 

Option Explicit

Sub GotoExample()
    Dim x As Integer
    x = 10

    If x < 5 Then
        MsgBox "xは5未満です。"
        GoTo EndOfCode
    ElseIf x >= 5 And x < 15 Then
        MsgBox "xは5以上15未満です。"
        GoTo EndOfCode
    Else
        MsgBox "xは15以上です。"
    End If

EndOfCode:
    MsgBox "処理が終了しました。"
End Sub

サンプルコードは、変数 x の値に応じてメッセージボックスを表示し、その後に EndOfCode ラベル行にジャンプして処理を終了します。

 

「日頃から本サイトを閲覧いただいているお客様だけに、
【無料】EXCEL VBA コードショートカット集をご紹介させていただきます。
きっと気に入っていただけると思います」

👉 無料:ExcelVBAコード・ショートカット集