第8講 その他のDo...Loop ステートメント
第2話 Do Until〜Loop文
今回学ぶDo Until〜Loop文の基本構造は
Do Until 条件式
・
・
・
Loop
です。Untilは『まで』という意味です。
Do Until〜Loop文は条件式が真(正しい)になるまで、
ループを繰り返します。
つまり、Do While〜Loop文とは反対で、
条件式が偽(正しくない)ときループを繰り返し、
真になるとループから抜け出します。
1から10まで加えるプログラム例を考えると、
Private Sub CommandButton1_Click()
Dim i As Integer, wa As Integer
wa = 0
i = 1
Do Until i = 11
wa = wa + i
i = i + 1
Loop
Cells(6, 1) = wa
End Sub
また、魔方陣プログラムその1をDo Until〜Loop文で改良した例は
Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer, w As Integer
i = 1
Do Until i > 4
j = 1
Do Until j > 4
Cells(i + 4, j + 2) = 4 * (i - 1) + j
j = j + 1
Loop
i = i + 1
Loop
i = 1
Do Until i > 5
Cells(i + 12, i + 2) = Cells(9 - i, 7 - i)
Cells(i + 12, 7 - i) = Cells(9 - i, i + 2)
j = 1
Do Until j > 4
If (i <> j And i <> 5 - j) Then Cells(i + 12, j
+ 2) = Cells(i + 4, j + 2)
j = j + 1
Loop
i = i + 1
Loop
Range("g10:g12").Select
Selection.HorizontalAlignment = xlRight
Cells(10, 7) = "横"
Cells(11, 7) = "合"
Cells(12, 7) = "計"
Range("a1").Select
i = 1
Do Until i > 4
w = 0
j = 1
Do Until j > 4
w = w + Cells(i + 12, j + 2)
j = j + 1
Loop
Cells(i + 12, 7) = w
i = i + 1
Loop
Cells(18, 1) = "右斜め対角線合計"
w = 0
i = 1
Do Until i > 4
w = w + Cells(i + 12, i + 2)
i = i + 1
Loop
Cells(18, 5) = w
Cells(19, 1) = "左斜め対角線合計"
w = 0
i = 1
Do Until i > 4
w = w + Cells(i + 12, 7 - i)
i = i + 1
Loop
Cells(19, 5) = w
End Sub
となどが考えられます。