VBAでIf文とFor文を「組み合わせて」処理する方法

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学びたい人向け記事↓