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

事務作業を自動化してもっと"ラク"しませんか?

あなたの会社の事務作業...効率化してラクに。もっと重要な業務に集中できるようになります。

日々増えるルーティンの事務作業...
「この作業めんどくさい...」
「事務作業に時間をとられて他に集中できない...」

あなたの代わりにVBAを使ってパソコン業務を自動化。あなたはもっと価値のあることに時間を使うことができるため売上UP、ムダなコストの削減が期待できます。

また、作って終わりではなくつぎの3つのことを約束します。

  • しっかりドキュメント作成
  • きれいな見やすいコードでムダな工数カット
  • できるだけボタン1つポチッと押すだけで業務が完了

どんなにささいなめんどくさい事務作業でも相談してください。相談は無料です。
3年の業務効率化実績があるため、力になれるかもしれません。

※件名には「業務効率化の相談」と記載ください。できるだけ24時間以内に返信します。