If文とFor文を組み合わせて、2パターンの処理を作っていきましょう。
まずはFor文のなかにIf文をいれて処理をしていきます。
For文のなかにIf文をいれて処理する
Sub exampleProcess() Dim i As Long Dim example_number As Long example_number = 8 For i = 1 To 10 If i = example_number Then Debug.Print i & "です。処理を終了します。" Exit For Else Debug.Print i & "です。処理を続けます。" End If Next i End Sub
1から順にFor文を回して、もし8になったら処理を終了するコード。
はい、こんな感じですね。
- Exit ForでFor文の処理を終了
- For文が終了するまでIF文が動きます
- セルを順に検索、異常値なら終了みたいなコード書けます
If文のなかにFor文をいれて処理する
Sub exampleProcess() Dim i As Long Dim example_number As Long example_number = 8 If example_number = 8 Then For i = 1 To 10 Debug.Print i & "です。" Next i End If End Sub
example_numberがもし8なら、For文で処理するコード。
逆にしたらこんな感じですね。
- Elseをつけてもうちょっと複数な処理も可能
- 特定の条件のときに、繰り返したい処理があればこっち
まとめ: If文とFor文を組み合わせて複数な処理をつくろう
- セルを順に検索、異常値なら終了みたいならFor文からIf文
- 特定の条件のときに、繰り返したい処理があればIf文からFor文
If文とFor文を組み合わせて、ちょっと複数な処理にも挑戦してみよう。
・VBA学びたい人向け記事↓