ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

繰り返し処理(Do…Loop ステートメント)

   

Do…Loop ステートメントの使い方


【構文 1】

Do [ While (または Until) condition ]

  [ statements ]

Loop


【構文 2】

Do

  [ statements ]

Loop [ While (または Until) condition ]

【項目の説明】

  • condition  ・・・  真 (True) または偽 (False) を評価する数式、文字列式を指定します(省略可)。
  • statements  ・・・  引数( condition )が真 (True) である間( While の場合)、または引数( condition )が真 (True) になるまで( Until の場合)、繰り返し実行される任意の行数のステートメントを記述します(省略可)。


【構文 1】は、statements を実行する前に condition をチェックし、【構文 2】は、statements を実行後に condition をチェックします。よって【構文 2】の場合、最低1回は statements を実行することになります。( ⇒ sample_DoLoop02 の例

引数 condition の値が Null 値の場合、引数 condition は、偽 (False) であるとみなされます。

Do…Loop ステートメント から抜け出す別の方法に、Exit Do ステートメント を指定することができます。また、Do…Loop ステートメント はネスト (入れ子) 構造にすることができ、その場合に Exit Do が実行された場合は、その Exit Do を囲んでいる 1 番内側のループから抜け出します。

もし無限ループの状態に陥ってしまった場合は、[ECS] キーを押し続けるか、それで戻らない場合は、[Ctrl] + [Alt] + [Delete] を押して Windows のタスクマネージャーを表示して、Excel を強制終了してください。



Do…Loop ステートメントの使用例

VBAソース例


実行結果

・sample_DoLoop01 の結果
Do Until...Loopステートメント例

・sample_DoLoop02 の結果
Do While...Loop ステートメント例

・sample_DoLoop03 の結果
Do...Loop ステートメント例




 - 構文 , , , , ,

Message

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

  関連記事

変数やプロシージャのスコープ(適用範囲)

変数やプロシージャのスコープ(適用範囲) 【構文:変数の宣言】 { Dim | …

GoSub ステートメント
プロシージャ内のサブルーチンへ移動(GoSub…Return ステートメント)

GoSub…Return ステートメント GoSub ステートメント …

for_next ステートメント例
繰り返し処理(For…Next ステートメント)

For…Next ステートメントの使い方 【構文】 For coun …

With ステートメントを使う

With ステートメントを使う With ステートメントを使うことで、1度指定し …

配列が引数のプロシージャ 例1
配列が引数のプロシージャを作成する

配列が引数のプロシージャを作成する 【構文】 { Sub | Function …

引数を可変にする( ParamArray )

ParamArray キーワード ParamArray キーワードを使用すると任 …

プロシージャ作成 例
プロシージャを作成する( Sub, Function )

プロシージャを作成する プロシージャとは、実行時に 1 つの単位として処理される …

引数の参照渡し・値渡し( ByRef, ByVal )

引数の「参照渡し」と「値渡し」 「参照渡し」とはプロシージャに引数として変数を渡 …

ユーザー定義型変数を使う(Type ステートメント)

Type ステートメントを使う Type ステートメントを使うと1つまたは複数の …

条件分岐(Select Case ステートメント)

Select Case ステートメントの使い方 【構文】 Select Case …