Excel VBAのDo Loop文のサンプル

ExcelのVBAのDo Loop文のサンプルです。
繰り返し処理を行うことができます。
Do Loop文は4つのパターンがあります。

目次

Do while ~ Loop

Do While 条件式
  繰り返される箇所
Loop
  • 条件式が成立している間、処理が繰り返されます。
  • 最初から条件が成立していない場合は、処理は1回も実行されません。

コード

Do while ~ Loopのサンプルです。

Sub test1()
    Dim a As Integer
    a = 0
    
    Do While a < 5
        Debug.Print a '0 1 2 3 4
        a = a + 1
    Loop
End Sub

5行目は、a< 5の間はループ処理が行われ、aが5になるとループが終了します。

 

Do ~ Loop while

Do 
  繰り返される箇所
Loop While 条件式
  • 条件式の判定が後ろにあるので、処理は必ず1回は実行されます。
  • 条件式が成立している間、処理が繰り返されます。

コード

Do ~ Loop whileのサンプルです。

Sub test1()
    Dim a As Integer
    a = 0
    
    Do
        Debug.Print a '0 1 2 3 4
        a = a + 1
    Loop While a < 5
End Sub

7行目は、a< 5の間はループ処理が行われ、aが5になるとループが終了します。

 

Do Until ~ Loop

Do Until 条件式
  繰り返される箇所
Loop
  • 条件式が成立するまで、処理が繰り返されます。
  • 最初から条件が成立していない場合は、処理は1回も実行されません。

コード

Do Until ~ Loopのサンプルです。

Sub test1()
    Dim a As Integer
    a = 0
    
    Do Until a > 3
        Debug.Print a '0 1 2 3
        a = a + 1
    Loop
End Sub

5行目は、a> 3の間はループ処理が行われ、aが4になるとループが終了します。

 

Do ~ Loop Until 

Do 
  繰り返される箇所
Loop Until 条件式
  • 条件式の判定が後ろにあるので、処理は必ず1回は実行されます。
  • 条件式が成立している間、処理が繰り返されます。

コード

Do ~ Loop Until のサンプルです。

Sub test1()
    Dim a As Integer
    a = 0
    
    Do
        Debug.Print a '0 1 2 3
        a = a + 1
    Loop Until a > 3
End Sub

8行目は、a>3になるまでループ処理が行われ、aが4になるとループが終了します。

 

Exit Doのサンプル

  • Doのループ文から抜けることができます。

コード

Exit Doのサンプルです。

Sub test1()
    Dim a As Integer
    a = 0
    
    Do While a < 5
        Debug.Print a '0 1 2
        a = a + 1
        If (a = 3) Then
            Exit Do
        End If
    Loop
End Sub

9行目は、Exit Doを使用してDoのループから抜けています。
0,1,2のみ表示されます。

比較演算子

上記コードの<は比較演算子です。
以下は、VBAの比較演算子の一覧です。

比較演算子 説明
a = b aとbの値は等しい
a <> b aとbの値は等しくない
a > b aはbより大きい
a >= b aはbより大きい または 等しい
a < b aはbより小さい
a <= b aはbより小さい または 等しい

関連の記事

Excel VBAのIF文のサンプル
Excel VBAのSelect Case文のサンプル
Excel VBAのFor文のサンプル
Excel VBAのFor Each文のサンプル
Excel VBAの変数の宣言を強制するサンプル
Excel VBAのデータ型
Excel VBA セルを指定して値を設定/取得するサンプル
Excel VBA セルの値をテキストに出力するサンプル

△上に戻る