Excel VBA「○○の間は繰り返そう」Do文の使い方をやさしく解説!

パソコンパソコン・スマホ教室
スポンサーリンク

こんにちは!今回は、Excel VBAで「○○の間は繰り返そう」といった繰り返し処理を行うためのDo文について、初心者の方にもわかりやすく解説していきます。

スポンサーリンク

Do文って何?繰り返し処理の基本を知ろう

Excelのイメージ

Excelのイメージ

Do While ~ Loop条件を満たす間、処理を繰り返す

Do While ~ Loop文は、指定した条件がTrue(真)である間、処理を繰り返します。例えば、セルからまでに「1」を入力する場合、以下のように記述します。

vba
Sub Sample1()
Dim i As Integer
i = 1
Do While i <= 10 Cells(i, 1).Value = 1 i = i + 1 Loop End Sub

このコードでは、変数iが1から10までの間、セルに「1」を入力し続けます。

Do Until ~ Loop条件を満たすまで、処理を繰り返す

Do Until ~ Loop文は、指定した条件がTrue(真)になるまで、処理を繰り返します。先ほどと同じ処理をDo Until ~ Loopで書くと、以下のようになります。

vba
Sub Sample2()
Dim i As Integer
i = 1
Do Until i > 10
Cells(i, 1).Value = 1
i = i + 1
Loop
End Sub

このコードでは、変数iが10を超えるまで、セルに「1」を入力し続けます。

Do文の応用条件の位置とループの制御

条件を後置するDo ~ Loop While / Do ~ Loop Until

条件を後置することで、処理を最低1回は実行することができます。例えば、以下のように記述します。

vba
Sub Sample3()
Dim i As Integer
i = 1
Do
Cells(i, 1).Value = 1
i = i + 1
Loop While i <= 10 End Sub

このコードでは、変数iが1から10までの間、セルに「1」を入力し続けます。

ループを途中で抜けるExit Do

ループの途中で条件を満たした場合に、ループを抜けることができます。以下のように記述します。

vba
Sub Sample4()
Dim i As Integer
i = 1
Do While i <= 10 If i = 5 Then Exit Do End If Cells(i, 1).Value = 1 i = i + 1 Loop End Sub

このコードでは、変数iが5になった時点でループを終了します。

実践例空白セルまでデータを入力する

実際の業務では、データの入力が終わるまで処理を繰り返すことがあります。例えば、A列にデータが入力されている間、B列に連番を入力する場合、以下のように記述します。

vba
Sub Sample5()
Dim i As Integer
i = 1
Do While Cells(i, 1).Value <> ""
Cells(i, 2).Value = i
i = i + 1
Loop
End Sub

このコードでは、A列のセルが空白でない間、B列に連番を入力し続けます。

よくある質問や疑問

Q1: Do WhileとDo Untilの違いは何ですか?

Do Whileは、条件がTrueの間、処理を繰り返します。一方、Do Untilは、条件がFalseの間、処理を繰り返します。つまり、Do Whileは「条件を満たす間」、Do Untilは「条件を満たすまで」と覚えると良いでしょう。

Q2: 無限ループになってしまった場合、どうすればいいですか?

無限ループになってしまった場合は、キーボードの「Ctrl」キーと「Break」キーを同時に押すことで、処理を強制終了できます。ただし、条件式を適切に設定し、必ずループが終了するようにすることが重要です。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良...もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

今回は、Excel VBAで「○○の間は繰り返そう」といった繰り返し処理を行うためのDo文について解説しました。Do WhileやDo Untilを使いこなすことで、より柔軟な処理が可能になります。ぜひ、実際の業務で活用してみてください。

他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

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