VBA 繰り返し処理Do~Loopの使い方



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、takaです

今回は【Do~Loop】についてです(^.^)

【Do~Loop】は前回の【For~Next】とは違い、条件を指定しその条件にそって繰り返すステートメントです(^.^)

【Do~Loop】は【For~Next】と比べて使用頻度は減って、知らない方も結構多いのではないでしょうか?(*_*;

私もVBAを始めてすぐのころはDo~Loopを使ったことはありませんでした(~_~;)

それまでFor~Nextで全てまかなえてしまっていた為です(笑)ですがVBAを続けていく中でいつかFor~Nextだけでは対処しきれないところが必ず出てきてしまいます(*_*;

なのでここで完璧マスターしてしまいましょう(笑)

【For~Nextの記事はこちら】

繰り返し処理For〜Next 変数の花形といえば繰り返し処理です、VBAを勉強していくのなら必ず必要になってくるのはこの繰り返し処理です。初めての方には回数を自分で決め...

Do~Loopの使い方

Do~Loopは繰り返し処理の【前】と【後】での条件判定ができ、繰り返し【前】での条件判定の場合、条件に合わなければ一度も処理はされず、【後】の場合は条件にかかわらず一度は処理が行われてから判定に移るようになります。

繰り返し前で条件判定

繰り返し後で条件判定

 

Do~Loopの条件づけWhileとUntil

Do~Loopでは二つの条件指定方法がありますそれがWhileUntilです。

While条件が正しい繰り返す
Until条件が正しくない繰り返す

WhileUntilはそれぞれ条件式がtrueの間は処理が実行されつづけます。なので、処理の中で条件式がfalseになるようにしたり、 繰り返しを中断するようなコードを記述しておきましょう(ー_ー)!!

注意点
中断できるようにしておかないとDo~Loopは処理を永遠に繰り返し処理を続けてしまいます。(無限ループに陥った場合はキーボード左上にある「Escキー」を押せば処理を中断できます。)

 

Do~Loopの条件がWhileの場合の書式

まずは条件が正しい間繰り返すWhileの書式から見ていきましょう(^^)

Whileの書式1

「iが10以上になるまで処理を続ける」

Whileの書式2

「書式1と同じ条件だが条件式が後ろにあるため【i = i + 1】が実行してiが11になった時点でループを抜ける」

Do~Loopの条件がUntilの場合

続いて条件が正しくない間繰り返すUntilの書式から見ていきましょう(^^)

Untilの書式1

「iが10以外の場合は処理を続ける」

Untilの書式1

「書式1と同じ条件だが条件式が後ろにあるため【i = i + 1】が実行してからループを抜ける」

 

注意点

以上Do~Loop 4つの書式でした(^.^)

上記のコードで【i = i + 1】の記述がなかった場合は永遠に処理を続けてしまうコードになってしまいます(~_~;)

Do~Loopを使う場合は、一定の条件式を書いてもその条件が満たされない場合処理し続けてしまうので必ずループを抜け出せるようにしておかなければいけません。

さらには条件式がDo(前)にあるのか Loop(後)にあるのかで結果が違ってきますので使うときには気をつけて使用しましょう(ー_ー)!!

最後に

なるべくわかりやすいように書いたつもりですが、今回の記事のサンプルコードや説明が若干分かりづらいかもしれません、自分で書いていて伝わるのかが心配になりました(T_T)

フォロー・チャンネル登録お願いします

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です