Excel VBA

The GoTo statement in Excel VBA is an instruction to directly jump to a specific point in the code.

GoTo [statement]

 GoTo文は、プログラム内で特定の場所へジャンプするための道具です。これを使うと、コードの流れを自由に変えられます。ただし、使いすぎるとコードが読みにくくなるので、注意が必要です。では、どういうときに使うのか、簡単に説明します。

 想像してみてください、あなたが迷路の中にいると。入り口から出口までの道は一本道だと思いますが、途中で「ここを左に曲がればショートカットできる」という看板があったらどうしますか?その看板の指示に従って、道をショートカットするのが、プログラミングでいう GoTo文の役割です。コードの中で「ここからこの行へ直接行け」という指示をすることができます。

 例えば、エラーが起きたときに特定のエラー処理を行いたい場合などに使います。しかし、このショートカットを使いすぎると、迷路の中でどこにいるのかわからなくなる可能性があります。だから、普段は一本道を大切にしながら、必要な時だけショートカットを使うようにしましょう。

 VBAでの GoTo文の基本的な形はこんな感じです。

VBA

Sub ExampleGoTo()
	' 何かの処理
	GoTo LineLabel ' LineLabelにジャンプします
LineLabel:
	' ジャンプ後の処理
End Sub

 この例では、「LineLabel:」というラベル(看板)まで直接ジャンプしています。ラベルはコード内の任意の場所に設置でき、そのラベル名を GoTo文で指定することで、そこへ直接移動することができます。

 GoTo文は非常に強力な道具ですが、使い方を誤るとプログラムが複雑になり、エラーの原因にもなりかねません。そのため、エラー処理など、本当に必要な場合に限定して使うように心掛けましょう。

 要するに、GoTo文は「ショートカットする道具」ですが、迷路の中で迷子にならないように、賢く使う必要があります。エラー処理のように、明確な理由がある場合に限って使いましょう。