VBAで「While」と「Until」、どちらを使うべきか?

VBAには、繰り返し処理を行うループとして「While(条件がTrueの間)」と「Until(条件がFalseの間)」があります。
どちらも同じような場面で使用できますが、コードの読みやすさ意図の明確さという観点から、適切に使い分けることが大切です。

本記事では、「While」と「Until」の使い分けのポイントをご紹介します。


1. 条件がTrueなら繰り返す → While

「この条件が 成り立っている間 は繰り返したい」場合には、Whileが自然です。

例:iが5以下の間ループ

Do While i <= 5
    '繰り返し処理
Loop

おすすめな場面:

  • 条件が「継続」や「~の間」といった自然な日本語に置き換えられる場合
  • ループ継続の条件をそのまま書きたいとき

2. 条件がFalseなら繰り返す → Until

「この条件が 成立するまで 繰り返したい」場合には、Untilが適しています。

例:iが6になるまでループ

Do Until i > 5
    '繰り返し処理
Loop

おすすめな場面:

  • 条件が「~まで」と自然に説明できるとき
  • 終了条件を明示したいとき(読み手にとってわかりやすい)

3. コードの可読性を重視しよう

WhileとUntilは、機能的には同じ結果になることが多いですが、
「どちらの条件のほうが読みやすいか?」で選ぶのがポイントです。

比較例:

'Whileを使った場合(iが5以下)
Do While i <= 5

'Untilを使った場合(iが6になるまで)
Do Until i > 5

どちらも結果は同じですが、どちらの条件のほうが読み手に意図が伝わりやすいかを意識しましょう。


4. まとめ:選び方のヒント

目的おすすめのループ構文
条件が「続く間」繰り返すWhile
条件が「成立するまで」繰り返すUntil
直感的に理解しやすい条件を選びたい読みやすいほうを選ぶ

WhileとUntilの使い分けは、VBAのループ処理をわかりやすくするうえで大切なポイントです。
処理内容や条件の意味に合わせて、適切な構文を選ぶよう心がけましょう。

コメント

タイトルとURLをコピーしました