Excelマクロについて

Do~Loopステートメント

wp-datacare

今まで、このブログでは繰り返し処理でFor~Nextステートメントを使って繰り返し処理を行っていました。

今回はDo~Loopステートメントについて解説します。

For~Nextステートメントは基本的に回数(台数や人数など)が決まっている場合に使用します。
しかし、実務では回数(台数や人数など)は変動するのが普通です。

変動する繰り返し処理の時にDo~Loopステートメントを使用します。
使用方法は以下のようになります。

少々わかりにくいですね。

過去に使用した練習問題①Do~Loopステートメントに変更してみます。

① Do Until .Cells(i, “A”).Value = “”  の部分は
② Do While .Cells(i, “A”).Value <> “”  と記述しても問題ありません。

構文の意味は以下のように異なります。
①の場合 A列が空白になるまで繰り返す
②の場合 A列が空白ではない間は繰り返す


UntilWhile のどちらがよいかについては Until の方がおススメです。
理由は キーボードの入力で (イコール)は1回ですが、<>の場合は2回です。
地味な理由ですが、私はUntilの方を多用しています。

実務ではDo~Loopステートメントの方が使用されます。
ではFor~Nextステートメントが不要と思うかもしれません。
しかしFor~Nextステートメントも実務においても頻繁に使用します。
For~Nextステートメントも確実にマスターしましょう。

Do~Loopステートメントを使用すると、コードの記述ミスで無限ループになる事があります。

そのような場合は以下の①又は②の操作で中断させることが出来ます。
 CtrlPause/Break  
 Esc

ノートパソコンを使っている場合、Pause/Breakが無い場合があります。

そのようなキーボードでは、複数のキーを同時に押すことでPause/Breakとして機能するものがあります。

メーカーによって異なっています。キーが無い人は事前に確認をして下さい。

次回以降Do~Loopステートメントが出てきます。
マスターしておきましょう。

今回はここまでです。

ABOUT ME
酒見 拓也
酒見 拓也
代表取締役
パチンコ企業向けにExcelマクロを使って業務の自動化、効率化のやり方を発信しています。 企業向けに「Excelマクロ研修」も行っています。
記事URLをコピーしました