VBAにおける条件分岐「If文」と繰り返し文「Do~Loop文」の組み合わせのコードを紹介していきます。
上図の表の判定欄の「合格」「不合格」のステータス毎に右の表に振り分ける処理を出力させます。
実際にコードを記載してみました。
まず、参照用、合格者表用、不合格者表用としてそれぞれカウント変数をLong型で定義します。(必要に応じて、その他変数の定義)
合格、不合格の表で転記セルの差が出てくるのでそれぞれに定義するといいです。
続いて、繰り返し「Do~Loop」の条件を定義します。
参照セル(判定セル)列で参照範囲を設定します。
参照範囲が大きい場合など、セル内の値を「“”(ブランク)」として設定すると楽です。
次に、条件分岐「If」文を繰り返し処理の中に組み込んでいきます。
参照セルが「合格」の場合の処理と「不合格」の場合の処理を[Else If]でつなぎました。
(Elseでも処理可能ですが、ほかの値が出力された場合は振り分けられないようにしました。)
そして、合格表に記載された場合の変数の処理と不合格者表に記載された場合の変数処理を分けて記載します。
そうすることで順序よく転記が可能となります。
すべての条件分岐処理が終わったら、参照セルの処理を行います。
(Msgboxは好みに合わせてください)
これらの処理をオブジェクトに登録して実行すると下記の処理がされます。
以上で、VBAにおける条件分岐「If文」と繰り返し文「Do~Loop文」の組み合わせのコードを紹介となります。