VBAで繰り返し処理を行う方法は複数あります。

ここでは、以下について説明します。



Do〜Loop While 文

Do〜Loop While 文は、繰り返し処理を実施した後に条件式を判定します。指定した条件が成り立っている(True)場合は、継続して繰り返し処理を行います。

繰り返し処理後に条件式を判定するので、最低1回処理を実行します。

書式を以下に示します。

Do

  実行する処理

Loop While 条件式

以下は Do〜Loop While文 の例です

Do〜Loopまでの処理を実行した後、変数 xが5未満の場合に繰り返し処理を行います。

  Option Explicit

Sub DoLoopWhileの例()

  Dim x As Integer
  
  x = 1
  
  Do
      x = x + 1
      
  Loop While x < 5
    
End Sub


Do〜Loop Until 文

Do〜Loop Until文は、繰り返し処理後に条件式を判定します。条件を満たしていない場合は、さらに繰り返し処理を実行します。

書式を以下に示します。

Do

  繰り返し処理

Loop Until 条件式

以下は、Do〜Loopまでの処理を実行した後、変数 xが5を超えた時に繰り返し処理を終了します。

    Option Explicit

Sub DoLoopUntilの例()

  Dim x As Integer
  
  x = 1
  
  Do
      x = x + 1
      
  Loop Until x < 5
    
End Sub
  


Exit Do

Do〜Loop While文 や Do〜Loop Until文は、Exit Doを使用すると、繰り返しを中断することができます。

以下は、変数xが3の時に、繰り返し処理を中断します。

Option Explicit

Sub ExitDoの例()

  Dim x As Integer
  
  x = 1
  
  Do 
      x = x + 1
      
      If x = 3 Then
          Exit Do
      End If
  Loop While x < 5

End Sub