関数・メソッド

必ず一度はループ処理を行う【Do Loop】【ExcelVBA】

後判定にすることで処理を必ず行う

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


関連記事

コメント

タイトルとURLをコピーしました