VBA ループを抜ける

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 4月 7, 2022

VBAでは、Doループを終了させるために Exit Doコマンドを使用します。

Exit Do

コードの実行がExit Doに来ると、Doループを抜けて、ループの後の最初の行から実行を継続します。 Forループの終了方法を知りたい方は、こちらのリンクをクリックしてください。VBA Exit For

条件を満たしたときにループを抜ける

以下の例では、ある条件を満たしたときにDoループを終了させる方法を説明します。ループして、繰り返しごとに変数iの値を1ずつ増やしていきます。6になったらループを抜けて、メッセージボックスを返したいとします。以下はそのコードです。

Dim i As Integer

Do While i < 10
        i = i + 1
      
        If i = 6 Then
            Exit Do
        End If
Loop

MsgBox "値は" & i & "です"

まず、iの値が10よりも小さい場合にDoループに入ります。

Do While i < 10

Loop

ループの中で、iの値を1だけインクリメントします。

i = i + 1

その後、iの値が6になったかどうかをIfコマンドでチェックします。もし値が6なら、Doループを抜けて、ループの後の最初の行に進みます。

If i = 6 Then
    Exit Do
End If

Doループを抜けた後に実行されるコードの1行目には、iの値が入ったメッセージボックスが表示されます。

MsgBox "その値は" & i & "です"

このコードをデバッグモードで実行すると、6回ループを通過することがわかります。6回目の繰り返しで、変数iの値は6になり、If文が実行されます。これで、Doループの本体が終了しました。その後、MsgBoxがポップアップしてiの値が表示されます。

vba exit loop ループ 抜ける

vba-free-addin

VBAコード例アドイン

当サイトで紹介しているすべてのコード例に簡単にアクセス可能。

メニューから選択してクリックするだけで、コードがモジュールに直接挿入されます(.xlam アドイン)。

(インストール不要!)

無料ダウンロード

VBAコード例に戻る