拙著『いちばんやさしいExcel VBAの教本』の、Lesson 41「このChapterで学習するループ処理とは」のワンポイントで、
Do~Loop文がもっとも汎用性が高く、それだけであらゆるループ処理を書くことが可能です。しかし、処理前にループする回数を指定できる場合には、Do~Loop文よりも、For~Next文のほうが、シンプルに読みやすく書けます。
Excel VBAの場合、ループ処理を行う回数を処理前に指定できることが非常に多く、Do~Loop文でなければ書けない処理が少ないため、はじめに学習するループ処理として、For~Next文をおすすめします。
と書きました。
Excel VBAでは汎用性に優れたDo~Loop文よりもFor~Next文を先に学習するのがおすすめ
汎用性については、
Do~Loop文 > For~Next文
という関係にあります。
これはExcel VBAに限定される話ではありません。
C系列のプログラミング言語ならば、
while文 > for文
という関係にあります。
しかしExcel VBAの場合、主な操作対象が表計算ソフト・Excelであるという特性上、ループ処理の前に回数を指定できない(即ちDo~Loop文を使わなければ書けない)ループ処理は多くありません。そのためプログラミングを初めて学習する方に向けて、最初のループ処理として、For~Next文をおすすめしています。
Do~Loop文のほうが書きやすいケース
Do~Loop文のほうが書きやすい処理に、どのようなものがあるのか気になる方もいらっしゃるでしょう。
その代表例が、Lesson 79「本書で扱っていない項目を省略した理由と学習するタイミング」で書いた、
指定したフォルダーに含まれるExcelファイルをすべて開く処理や、セルの検索を行うような処理があります。
です。
具体的にはこのサイト『インストラクターのネタ帳』でもご紹介している、以下のようなプロシージャです。
拙著でご紹介しているFor~Next文もすべて当然、Do~Loop文で書くこともできます。その具体例(For~Next文で書ける処理をDo~Loop文で書くと以下に注意の必要なコードになるのか)は、近日中に別記事でご紹介します「For~Next文で書ける処理をDo~Loop文で」でご紹介しています(2018-04-10追記)。
最終更新日時:2018-09-16 13:51
- Newer:凡例の位置をVBAで指定する-Legend.Position
- Older:VBAで文字数を制限する入力規則を設定
Home » いちばんやさしいExcel VBAの教本 » Do~Loop文のほうが書きやすい例