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

 

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

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA Goto 利用シーン

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

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

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

 

Excel VBA Goto ポイント

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

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

 

Excel VBA Gotoサンプルコード

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

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ベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問