2016For~Next文で書けるExcelマクロをあえてDo~Loop文で書くとどのようなコードになるか、記事にしました。Do~Loop文を機械的に覚えた方の中には、ご紹介したDo~Loop文を疑問に感じた方がいらっしゃるかもしれません。Until~Loopがあり、更にループを抜ける判断を前で行うか後ろで行うのかの、合計4種類があるといったことが書かれています。私がご紹介したSubプロシージャでは、WhileやUntilという単語が出てきませんWhile・Untilを使わないDo~Loop具体的なコードを見ましょう。先日の記事ではDo~Loop文は以下の形になっています。Until~LoopのサンプルDo~Loop文を機械的に覚えた方は、以下のようなコードを見慣れているはずです。While~Loopなら以下のとおりです。1Loopループを続けるWhile条件を後ろに置くなら以下のとおりです。Until~Loopなら以下のとおりです。1Loopこれもループを続けるUntil条件を後ろに置くなら以下のとおりです。SubLoopほうが、行数は増えますけれど、意味は理解しやすいと感じませんか?WhileやUntilを使う場合、ループを回し続ける条件なのか、ループを抜ける条件なのか、書きなれるまではどうしても戸惑うはずです。これに対してWhileやUntilを使わない場合は、単なるIf文が入っているだけですから、戸惑いは少ないでしょう。SubのようなIf文のうち、DoやLoopの直後でも簡単に書ける条件が、WhileやUntilを使った形で書かれるに過ぎない、と考えてみるといかがでしょう。Untilループを苦手としている方も、理解しやすくなるのではないでしょうか。VBAの教本』では扱わなかった、Do~Loop文の学習時に参考にしていただければ幸いです。Do~Loop文をどう学習すべきかNewer:このオブジェクトにはタイトルがありません。While~Loopで代替できる、While~Wendというループ文もあります。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。(2019.05.02)4刷決まりました。(2018.07.03)3刷決まりました。