「Excel VBAで繰り返し処理ってどうやって書くの?」
大量のデータを扱う時、同じ処理を何度も繰り返すのは非効率的です。この記事では、繰り返し処理を簡単に実現するための基本スキル「For Next」と「Do While」について、初心者にも分かりやすく解説します!
インプレス
¥2,288 (2024/12/20 13:08時点 | Amazon調べ)
ポチップ
1. 繰り返し処理とは?
繰り返し処理とは、同じ操作を自動的に複数回実行するためのプログラミング手法です。大量のデータを処理する時や、同じ作業を複数のセルに適用する時に役立ちます。
2. For Nextの基本構文
「For Next」は、指定回数だけ処理を繰り返すためのステートメントです。
1 2 3 |
For カウンタ変数 = 開始値 To 終了値 [Step 増分] 処理 Next カウンタ変数 |
例: 1から10までの数値を出力
1 2 3 4 5 6 |
Sub ForNextExample() Dim i As Integer For i = 1 To 10 Debug.Print i Next i End Sub |
このコードは、1から10までの数値をイミディエイトウィンドウに出力します。
3. Stepを使った応用
Stepを指定すると、カウンタ変数の増加量を調整できます。
1 2 3 4 5 6 |
Sub ForStepExample() Dim i As Integer For i = 1 To 10 Step 2 Debug.Print i Next i End Sub |
この例では、1, 3, 5, 7, 9と出力されます。
4. Do Whileの基本構文
「Do While」は、指定した条件がTrueの間、処理を繰り返します。
1 2 3 |
Do While 条件式 処理 Loop |
例: 条件が満たされるまで繰り返す
1 2 3 4 5 6 7 8 |
Sub DoWhileExample() Dim i As Integer i = 1 Do While i <= 10 Debug.Print i i = i + 1 Loop End Sub |
このコードは、For Nextと同様に1から10までの数値を出力します。
5. Do Untilを使った繰り返し
条件がFalseになるまで処理を繰り返す「Do Until」も便利です。
1 2 3 4 5 6 7 8 |
Sub DoUntilExample() Dim i As Integer i = 1 Do Until i > 10 Debug.Print i i = i + 1 Loop End Sub |
こちらも1から10までの数値を出力しますが、条件の評価タイミングが異なります。
6. 無限ループに注意!
条件が適切に設定されていないと、ループが終わらなくなることがあります。以下は典型的な例です:
1 2 3 4 5 6 7 |
Sub InfiniteLoop() Dim i As Integer i = 1 Do While i > 0 ' 条件が永遠にTrue Debug.Print i Loop End Sub |
このようなコードを書くと、Excelが応答しなくなる可能性があるため注意してください。
7. 実用例: シート内のデータを一括処理
例: セルの値を2倍にする
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub DoubleCellValues() Dim ws As Worksheet Dim rng As Range Dim cell As Range Set ws = ThisWorkbook.Sheets("Sheet1") Set rng = ws.Range("A1:A10") For Each cell In rng cell.Value = cell.Value * 2 Next cell End Sub |
このコードは、シート「Sheet1」のA1からA10の値をすべて2倍にします。
まとめ
この記事では、繰り返し処理の基本「For Next」と「Do While」を解説しました。効率的なコードを書くためには、このスキルが欠かせません。ぜひ実際の作業で活用し、プログラム作成の効率を向上させましょう!
インプレス
¥2,288 (2024/12/20 13:08時点 | Amazon調べ)
ポチップ
コメント