Excel VBAのDo Loopは、特定の条件が満たされるまで(または特定の条件が満たされる間)繰り返し処理を実行するための構文です。これにより、条件に応じた柔軟な繰り返し処理が可能になります。以下に、Do Loopの基本的な使い方と具体的な例を説明します。
基本的な構文
Do Loopには、条件を先に評価する形式と後に評価する形式があります。
Do While Loop
Do While 条件
' 条件がTrueの間、実行される処理
Loop
Do Until Loop
Do Until 条件
' 条件がFalseの間、実行される処理
Loop
Do…Loop While
Do
' 最低一回は実行される処理
Loop While 条件
Do…Loop Until
Do
' 最低一回は実行される処理
Loop Until 条件
例題1: Do While Loop
以下の例では、Do While Loopを使用して、指定したセルの値が空でない限り、セルの内容をメッセージボックスに表示します。
Sub DoWhileExample()
Dim i As Integer
i = 1
Do While Cells(i, 1).Value <> ""
MsgBox Cells(i, 1).Value
i = i + 1
Loop
End Sub
このコードでは、列Aのセルを上から順にチェックし、値が空でない限りその内容をメッセージボックスに表示します。
例題2: Do Until Loop
次に、Do Until Loopを使用して、指定したセルの値が「終了」であるまで、セルの内容をメッセージボックスに表示します。
Sub DoUntilExample()
Dim i As Integer
i = 1
Do Until Cells(i, 1).Value = "終了"
MsgBox Cells(i, 1).Value
i = i + 1
Loop
End Sub
このコードでは、列Aのセルを上から順にチェックし、値が「終了」であるまでその内容をメッセージボックスに表示します。
例題3: Do…Loop While
次に、Do…Loop Whileを使用して、指定したセルの値が100を超えるまで、セルの値に10を加算し続けます。
Sub DoLoopWhileExample()
Dim i As Integer
i = 1
Do
Cells(i, 1).Value = Cells(i, 1).Value + 10
i = i + 1
Loop While Cells(i, 1).Value <= 100
End Sub
このコードでは、列Aのセルに対して、セルの値が100を超えるまで10を加算し続けます。
例題4: Do…Loop Until
次に、Do…Loop Untilを使用して、指定したセルの値が「完了」であるまで、セルの内容をメッセージボックスに表示します。
Sub DoLoopUntilExample()
Dim i As Integer
i = 1
Do
MsgBox Cells(i, 1).Value
i = i + 1
Loop Until Cells(i, 1).Value = "完了"
End Sub
このコードでは、列Aのセルを上から順にチェックし、値が「完了」であるまでその内容をメッセージボックスに表示します。
結論
Excel VBAのDo Loopは、特定の条件に基づく繰り返し処理を効率的に実行するための強力なツールです。Do While LoopとDo Until Loopの使い方を理解することで、柔軟で効率的なデータ操作が可能になります。Do Loopの理解と適切な使用は、データ処理やプログラムの設計において非常に重要です。