IF文 VBAで自動化 VBAテクニック集 VBA一覧 文法・構文

【VBA】IF文で何もしない処理しない(continueステートメント)

Excel VBAにはContinueステートメントがないため、ループ内で特定の条件に基づいて次のイテレーション(繰り返し処理)に進むためには工夫が必要です。ここでは、GoToステートメントを利用してForループやDo Whileループ内でこの操作を行う方法を説明します。【VBA】IF文の基本的な使用方法と複数条件の考え方

ループ内での条件判定

特定の条件で処理をスキップしてループの次のイテレーションへ進む場合、通常はIf文内にその条件を記述し、その条件がTrueの場合にスキップします。以下に具体的なコードの例です。

Forループの例

Dim i As Integer

For i = 1 To 10

If i Mod 2 = 0 Then ' iが偶数の場合

GoTo ContinueLoop

End If

' 奇数の場合に実行する処理
MsgBox "奇数: " & i

ContinueLoop:
Next i

この例では、iが偶数の場合、MsgBoxの呼び出しをスキップして次のループのイテレーションに進みます。GoToステートメントは、ループの終わりに配置されたラベル(この場合はContinueLoop)へジャンプします。

Do Whileループの例

Dim count As Integer
count = 1

Do While count <= 10

If count Mod 3 = 0 Then ' countが3の倍数の場合

count = count + 1
GoTo ContinueLoop

End If

' 3の倍数でない場合に実行する処理
MsgBox "3の倍数ではない: " & count
count = count + 1

ContinueLoop:
Loop

この例では、countが3の倍数の場合、MsgBoxの呼び出しをスキップして、ループの次のイテレーションに進むためにcountをインクリメントした後にGoToを使用しています。

注意点

GoToステートメントはコードの流れを読みにくくする可能性があるため、使用する際は慎重になる必要があります。コードの可読性を保ちつつ、目的に合った最適な方法でループの制御を行うことが重要です。

【VBA】GoToステートメントの理解と使用方法

まとめ

Excel VBAにはContinueステートメントが存在しないため、ループ内の特定の条件で処理をスキップして、次のイテレーションへ進むためにはGoToステートメントを使う方法が一般的です。
この技術を適切に使用することで、特定の条件下での処理を効果的に制御できます。

【VBA】IF文で空白なら次の処理をさせる方法

【VBA】IF文でelse ifを用いて何も処理しない方法

-IF文, VBAで自動化, VBAテクニック集, VBA一覧, 文法・構文