GoToステートメント

<< エクセルVBAのIE制御に利用したステートメント一覧(VBAのIE制御入門) :前の記事

<< エクセルVBAのプログラムの制御構文(VBAの初心者入門) :前の記事

こちらでは、VBAのIE(InternetExplorer)操作に利用されたGoToステートメントの解説になります。GoToステートメントは、プロシージャ内の指定した行へジャンプさせるステートメントです。

また、ステートメントとは「命令文」と訳されるようにコンピュータに具体的な動作を指定する最小単位のプログラムです。主にマクロの挙動を制御する構文や文法を指します。通常は1行で完結する部分を指しますが、If~Thenなど複数行にまたがる部分を意味することもあります。

目次

GoToステートメントとは

GoToステートメントは、プロシージャ内の指定した行へジャンプさせるフロー制御ステートメントです。

GoTo 行ラベル
 処理
行ラベル:
 処理

構文GoTo line
キーワード省略説明
line×こちらは必須キーワードです。引数lineには、任意の行ラベルまたは行番号を指定します。

GoTo ステートメントの分岐先は、同じプロシージャ内だけで、他のプロシージャには分岐することはできませんのでご注意ください。

GoToステートメントのサンプルコード


Sub sample()

    MsgBox "1回目のメッセージボックスです。"
    
    MsgBox "2回目のメッセージボックスです。"
    
    GoTo label01
    
    MsgBox "3回目のメッセージボックスです。"
    
    MsgBox "4回目のメッセージボックスです。"
    
label01:
    
    MsgBox "5回目のメッセージボックスです。"

End Sub

実行結果

Gotoステートメントの結果

解説

sampleのSubステートメントは引数設定はされていません。処理の内容を確認するとMsgBox関数でメッセージを順に表示させているだけですが、途中にGoToステートメントで「label01」の行ラベルを設定しています。これにより「label01:」まで処理をジャンプさせています。

通常の処理であれば5つのMsgBox関数の処理が実行されますが、GoToステートメントにより3つだけしか処理されていないのを確認してください。

GoTo ステートメントを多用するとプログラムの可読性が落ちバグが発生する可能性が高くなります。できる限り構造化された制御ステートメント(If~Then~Else文、For~Next文、Select Case文、Do~Loop文)を利用するようにしましょう。

エクセルVBAのプログラム制御構文一覧

次の記事: エクセルVBAのデバッグについて >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

  • このエントリーをはてなブックマークに追加
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。