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 Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples