透2017/8/222019/4/19GoToステートメントって使ってますか?GoToステートメントは所定の記述まで処理をジャンプさせることができます。GoToでエラー処理をする方法など応用的な内容についても解説していきます。まとめGoToステートメントとはGoToステートメントはラベル先へ処理をジャンプさせます。ループ処理内である条件では処理をスキップしたい場合や、エラー処理を行いたい場合などで使われます。ラベル先は同じプロシージャ内だけで、他のプロシージャへジャンプさせることはできません。必要以上にGoToステートメントを多用すると、コードのフローが複雑になり読みにくくなりバグが発生する原因にもなりますので注意しましょう!ラベルへジャンプする方法GoToステートメントは以下のように記述して使用します。処理2この場合GoToステートメントでラベル先の処理2は実行されますが、処理1は実行されません。それではサンプルコードで確認していきましょう。Sub実行結果:このサンプルコードでは、ElseIfステートメントでの記述を1行に省略し、処理の記述はGoToステートメントのラベル先にまとめています。ループをスキップする方法ループ処理では、ある条件の場合はそれ以降の処理を省略してループ内の先頭の記述にスキップしたい場合があります。そんな場合にVBAでは、continue文は使いません。GoToステートメントを使用します。サンプルコードで確認しましょう。Sub実行結果:このサンプルコードでは、Excelシートのセルに入力されている点数の合計を求めています。セルに数値以外の値が入力されている場合は、GoToステートメントを使って合計を算出する処理をスキップして、For文内の最初にあるラベルL1にジャンプしています。Next文でループをスキップする方法については、こちらで詳しく解説していますので、ぜひ参考にしてください。Errorステートメントを使用し処理中にエラーが発生した場合は、GoToステートメントでラベル先のエラー処理へジャンプします。サンプルコードで確認していきましょう。Sub実行結果:このサンプルプログラムでは、意図して0(ゼロ)で除算するエラーを発生させています。Errorステートメントを使用し、GoToステートメントによりラベルErrLabelのエラー処理の記述までジャンプしています。Nextステートメントを使うと、エラーの発生によってプログラムが中断することなくエラーが発生した次のステートメントから処理を継続することができます。エラーを処理する方法については、こちらで詳しく解説していますので、ぜひ参考にしてください。まとめここでは、GoToステートメントについて説明しました。GoToステートメントはラベル先に処理をジャンプさせることができるので便利ですが、多用するとコードが読みにくくなる原因になります。GoToでエラー処理を行う場合など、用途を限定して使用することをオススメします。使いこなすことができるように、この記事を何度も参考にして下さいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。お問合せはこちらでも受け付けています。