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

 

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

 

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

 

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で自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。