While Wend文を使った繰り返し処理
VBA を使った繰り返し処理の一つである While Wend 文の使い方です。 While Wend 文では条件式が True の間、繰り返し処理を行います。 Do Loop 文とほぼ同じことを行います。ここでは Excel VBA で While Wend 文を使った繰り返し処理を行う方法について解説します。
(Last modified: )
While Wendの使い方
While ... Wend
を使った繰り返し処理の記述方法です。書式は次の通りです。
While 条件式 条件式がTrueのときに行う処理 Wend
最初に While
のあとに記述された条件式を評価します。条件式が True の場合、条件式から Wend
の間の処理を一度実行します。そのあとで再び条件式を評価し、 True だった場合は再度条件式から Wend
の間の処理を実行します。これを条件式を評価したときに False になるまで繰り返します。
注意しなければいけないのは、条件式が True のままだと無限に繰り返し処理を実行してしまうので、条件式から Wend の間で実行される処理の中で、条件式が変化するような処理を行う必要があるという点です。
それでは簡単なサンプルを作成して試してみます。
Option Explicit Sub テスト() Dim num As Integer num = 2 While num < 1000 Debug.Print ("数値 = " & num) num = num * 2 Wend End Sub
今回のサンプルでは初期値の 2 に対して 2 を繰り返し乗算していき、演算結果が 1000 を超えたら繰り返し処理を終了します。
それではプログラムを実行してみます。
イミディエイトウィンドウには次のように表示されました。演算結果が 1000 を超える直前までの値が出力されています。
While Wend文とDo Loop文の違い
While Wend
文と Do Loop
文に基本的な使い方の違いはありません。どちらを使っても同じ結果となります。
While 条件式 条件式がTrueのときに行う処理 Wend
Do While 条件式 条件式がTrueのときに行う処理 Loop
違いがあるとすれば Do Loop
文には繰り返し処理を途中で終了するための Exie
文が利用できますが、 While Wend
には該当するものがありません。また Do Loop
文には Do While...Loop
だけでなく Do...Loop While
や Do Until...Loop
など目的に応じて色々な書式がありますが While Wend
には用意されていないです。
※ Exit
文の使い方については「Exit文を使って繰り返し処理を途中で終了する」を参照されてください。
While Wend
が用意されている理由は分かりませんでしたが、現時点では Do Loop
文を使うように統一されておくことをおすすめします。
-- --
Excel VBA で While Wend 文を使った繰り返し処理を行う方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。