教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでGoTo文を使った処理のスキップ方法

構文

構文は以下の通りです。

GoTo ラベル

解説

GoTo文は、指定したラベル先へ処理をジャンプさせる命令です。この命令を使うと、プログラムの流れを特定の場所に飛ばすことができます。たとえば、ループ処理の中で特定の条件が満たされた場合にその条件をスキップしたり、エラーが発生したときにエラーハンドリングの部分にジャンプさせるといった使い方ができます。ただし、GoToステートメントでジャンプできるのは、同じプロシージャ内のみです。他のプロシージャへジャンプさせることはできませんので注意して下さい。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 繰り返し処理()
    Dim 数字 As Integer
    Dim 結果 As String
    結果 = ""
    For 数字 = 1 To 10
        If 数字 = 5 Then
            GoTo スキップ
        End If
        結果 = 結果 & 数字 & " "
スキップ:
    Next 数字
    MsgBox 結果
End Sub

このプログラムでは、数字が1から10まで繰り返されますが、5のときは処理をスキップしています。その結果、5の数字は結果に含まれません。

まとめ

GoTo文は、プログラムの流れを特定のラベル先にジャンプさせる便利な命令です。特定の条件を満たした場合やエラーが発生したときに使用することで、プログラムの柔軟性が向上します。ただし、使いすぎるとプログラムが複雑になりやすいので、適切な場面で使用するように注意して下さい。