目次
01. While (処理を繰り返す)
02. Until (処理を繰り返す)
03. Exit/continue
04. 演算子
Do while ~ Loop
Do While 条件式 繰り返される箇所 Loop |
- 条件式が成立している間、処理が繰り返されます。
- 最初から条件が成立していない場合は、処理は1回も実行されません。
- Excel、Accessとも同じです。
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になるとループが終了します。
6行目は、0から4が表示されます。
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
8行目は、a< 5の間はループ処理が行われ、aが5になるとループが終了します。
6行目は、0から4が表示されます。
以下は、MicrosoftのVBAのDo...Loop文のリンクです。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/doloop-statement
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になるとループが終了します。
6行目は、0から3が表示されます。
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になるとループが終了します。
6行目は、0から3が表示されます。
ループ文を途中で抜ける(Exit Do)
- Exit DoでDoのループ文から抜けることができます。
Sub test1()
Dim a As Integer
a = 0
Do While a < 5
If (a = 3) Then
Exit Do
End If
Debug.Print a '0 1 2
a = a + 1
Loop
End Sub
7行目は、Exit Doを使用してDoのループから抜けています。
9行目は、0,1,2のみ表示されます。
ループ処理で処理をスキップする
ループ処理で処理をスキップするサンプルです。
Sub test1()
Dim a As Integer
a = 0
Do While a < 5
point1:
If (a = 3) Then
a = a + 1
GoTo point1
End If
Debug.Print a '0,1,2,4が出力される
a = a + 1
Loop
End Sub
6行目はラベルです。
VBA文では、Continueが使用できません。
そのため、9行目のようにGoToとラベルを指定します。
このサンプルでは8行目の加算がないと無限ループになるので注意して下さい。
比較演算子
上記コードの<は比較演算子です。
以下は、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より小さい または 等しい |
関連の記事