後判定にすることで処理を必ず行う
Do Loopステートメントでループ処理を行うとき、
ループの終了判定が処理の式より前にあると継続条件がFalseなら処理を一度も実行しません。(前判定)
WhileをLoopの後ろに置くことで、必ず一度はループ処理を実行します。(後判定)
前判定と後判定の比較
'■前判定(何も表示されない) Sub Sample_DoWhileLoop() Dim i As Long i = 7 '変数を代入する Do While i < 7 '変数が7未満の間ループ処理を行う MsgBox "こんにちは" 'こんにちはと表示する i = i + 1 Loop 'ループ処理はここまで End Sub '■後判定(一度はこんにちはと表示される) Sub Sample_DoLoopWhile() Dim i As Long i = 7 Do MsgBox "こんにちは" i = i + 1 Loop While i < 7 'こんにちはと表示してからループを行う End Sub
コメント