VBAでのGoTo Continueステートメントの使い方

ExcelVBAgotoステートメント

VBAでのGoTo ステートメントの使い方

今日は、VBA(Visual Basic for Applications)でのGoToステートメントの使い方について、初心者の方にもわかりやすく解説していきます。特に、コードの一部をスキップしたり、特定の処理に直接ジャンプするために利用されるGoToステートメントの活用法に焦点を当てます。

目次

Go To ステートメントとは?

GoToステートメントは、VBAにおいてプログラムの制御を特定の行に移動させるために使用されます。

これにより、コードの実行を任意の場所から再開させることができます。ただし、GoToステートメントの使用は、慎重に行う必要があります。過度に使用すると、コードの可読性が低下し、デバッグが難しくなるためです。

どうしてもLoopやIfなどの条件式で実装すると可読性が悪くなる時などには、便利に使うことができます。

Go To Continueの例

例えば、ある条件下でループの一部をスキップし、次のイテレーションに進みたい場合、GoToステートメントを使用して「Continue」ポイントにジャンプさせることができます。

Sub GoToContinueExample()
    Dim i As Integer
    For i = 1 To 10
        If i Mod 2 = 0 Then
            ' 偶数の場合は以下の処理をスキップ
            GoTo Continue
        End If
        
        ' 奇数の場合のみ実行される処理
        Debug.Print i & ”: は奇数です。"
Continue:
    Next i
End Sub

この例では、1から10までの数値をループしています。

偶数の場合はDebug.Printステートメントをスキップし、直接Continueラベルにジャンプしています。

その結果、奇数のみが「〜は奇数です。」として出力されます。

注意点

GoToステートメントを使う際は、以下の点に注意してください。

使用を最小限に

GoToは、特にエラーハンドリングなど限られた場合にのみ使用し、ループや条件分岐など他の制御構造を利用する方がおすすめです。ただし、使わないことによってコードがややこしくなる場合は使っていいと思います。

明確なラベル

ジャンプ先となるラベル(この例ではContinue)は、その目的が明確にわかる名前をつけてるようにすること。
ひとつのプロシージャの中に、複数配置した時には、もうパニックになってしまいがちです(笑)

コードの可読性

GoToの使用がコードの可読性を下げないように、使用する場合はコメントをすることで分かりやすくしましょう。

GoToステートメントは強力なツールですが、その力を賢く使うことが大切です。プログラムの流れを簡単に変えられる一方で、使いすぎはコードを複雑にします。適切な場合にのみ使用し、常に他の制御構造が利用できないかを考えるようにしましょう。

GoToステートメントについての解説が、皆さんのVBA学習の一助となれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次