【2026年8月最新】VBAのGoTo文とは?ラベル・ループ制御・エラー処理(On Error GoTo)の使い方

【2026年8月最新】VBAのGoTo文とは?ラベル・ループ制御・エラー処理(On Error GoTo)の使い方

「業務マクロを実行したら、途中で謎のエラーが出て処理が止まってしまった」「担当者がいないときにマクロがエラーで止まり、誰も対処できなかった」——ExcelVBAで作られた業務マクロを運用していると、こうした場面に一度は遭遇するはずです。

こうした「異常事態への備え」を実装するための仕組みが、この記事のテーマであるGoTo文と、それを使ったOn Error GoToによるエラー処理です。処理を強制的に別の場所へジャンプさせるGoTo文は、ループ制御やエラー処理など、さまざまな場面で活用されます。

この記事では、GoTo文の基本的な使い方から、ラベルへのジャンプ、On Error GoToによるエラー処理、そして非エンジニアの経営者・管理職の方に本当に知ってほしい「なぜ業務マクロのエラー処理が軽視されると危険なのか」まで、実務目線で解説します。

代表菅澤 代表菅澤
VBAのコードを自分で書ける必要はありません。ただ「エラー処理とは何をしている仕組みなのか」を知っておくと、業務マクロが止まったときに冷静に対処できますし、AIへの改修依頼の質も大きく変わります。
AI鬼管理山崎 AI鬼管理山崎
弊社でも、エラー処理が入っていないマクロが原因で、月末の締め作業が深夜までずれ込んだ経験があります。今日はこの「地味だが重要な仕組み」を、コードが読めない方にも分かる言葉で整理していきます。

この記事を最後まで読むと、次の6つが明確になります。

✔️GoTo文の基本と、何のために使われるのか
✔️ラベルを使ったジャンプの仕組みと基本構文
✔️On Error GoToを使ったエラー処理の基本パターン
✔️GoToの多用がなぜ長年「アンチパターン」とされてきたのか
✔️業務マクロのエラー処理不足が引き起こす具体的なトラブル
✔️AIにエラー処理の実装を任せる際の、非エンジニアでもできる指示の出し方
Claude Code 完全解説セミナー|経営者・会社役員専用 1on1 60分 無料Claude Codeを経営に活かしたい方へ — AI鬼管理
📌 この記事の結論
【2026年8月最新】VBAのGoTo文とは?ラベル・ループ制御・エラー処理(On Error GoTo)の使い方
ExcelVBAのGoTo文の使い方をラベル・ループ制御・On Error GoToによるエラー処理とともに解説。GoTo多用のリスク、業務マクロのエラー処理不足が招くトラブル、AIによるレビュー事例まで紹介します。

01 GoTo文とは何か——処理を強制的にジャンプさせる仕組み プログラムの実行順序を変える最も原始的な命令

GoTo文とは、プログラムの実行位置を、通常の上から下への流れとは関係なく、指定した場所へ強制的にジャンプさせる命令です。「Go(行け) To(〜へ)」という名前の通り、コードの特定の地点へ処理を飛ばします。

📚 用語解説

ステートメント:VBAにおける「命令文」のこと。GoToIfForなど、プログラムに何らかの動作を指示する1つ1つの文をステートメントと呼びます。

ジャンプ先の指定にはラベルという目印を使います。以下は、ある条件を満たした場合に処理をスキップする、最も基本的な使用例です。

Sub CheckScore()
    Dim score As Integer
    score = 45

    If score < 60 Then
        GoTo Fail
    End If

    MsgBox "合格です"
    Exit Sub

Fail:
    MsgBox "不合格です"
End Sub

この例では、scoreが60未満のとき、GoTo Failによって処理がFail:というラベルの位置まで一気に飛びます。Exit Sub(プロシージャを途中で終了する命令)と組み合わせることで、条件によって異なる結果を表示する、というシンプルな分岐が実現できます。

1-1. GoTo文が使われる3つの代表的な場面

✔️ラベルへのジャンプ:特定の条件のとき、決まった処理まで一気に飛ばしたい場合
✔️ループのスキップ:繰り返し処理の中で、特定の条件のときだけ処理を飛ばしたい場合
✔️エラー処理:実行時エラーが発生したとき、あらかじめ用意したエラー対応の処理へ飛ばす場合(On Error GoTo)
💡 経営者が知っておくべき視点

GoTo文は「もしものときの避難経路をコードに用意しておく仕組み」だとイメージしてください。特にエラー処理での活用は、マクロが予期せぬ事態に遭遇したときに、業務を止めずに済ませるための重要な備えになります。

代表菅澤 代表菅澤
GoToという言葉だけ聞くと難しそうですが、要は「条件によって処理の行き先を変える」というだけの話です。日常業務でいう「イレギュラー対応フロー」をコードで表現したものだと考えると分かりやすいと思います。

1-2. 具体的なイメージ:経費精算チェックを例に

もう少し具体的なイメージを持つために、「経費精算の申請金額をチェックするマクロ」を例に考えてみます。申請金額が上限(例えば5万円)を超えている場合は「要承認」、それ以外は「自動承認」というシンプルな業務ルールがあるとします。

GoTo文を使えば、「上限を超えていたら要承認の処理へジャンプし、それ以外はそのまま自動承認の処理を続ける」という分岐を、シンプルな構造で表現できます。もちろんIf〜Else文でも同じ結果を実現できますが、「複数の判定を経て、最終的に決まった処理へ合流させたい」というような複雑な分岐では、GoToによるジャンプの方が処理の見通しが良くなる場合もあります。

02 ラベルへジャンプする基本の使い方 ループのスキップにも活用できる柔軟な制御

GoTo文をより実践的に使う例として、ループ処理の中で特定の条件のときだけ処理をスキップするパターンを見てみます。

📚 用語解説

ラベル:GoTo文のジャンプ先を示す「目印」のこと。任意の名前の末尾にコロン(:)を付けて記述します(例: Fail:)。ラベルは、そのラベルを使うGoTo文と同じプロシージャ内に置く必要があり、別のプロシージャのラベルへジャンプすることはできません。

Sub SkipNegative()
    Dim i As Integer
    Dim nums(1 To 5) As Integer
    nums(1) = 3: nums(2) = -1: nums(3) = 7: nums(4) = -5: nums(5) = 2

    For i = 1 To 5
        If nums(i) < 0 Then GoTo NextLoop
        Debug.Print nums(i) & " は正の数です"
NextLoop:
    Next i
End Sub

この例では、配列の中に負の数があった場合、GoTo NextLoopによってその回の処理だけをスキップし、次のループへ進みます。なお、同じ目的を達成する方法として、VBAにはForループ専用のContinueに相当する命令が用意されていないため、伝統的にこのGoToを使ったスキップ手法が使われてきました。

2-1. GoTo文の制約:スコープをまたいだジャンプはできない

GoTo文には重要な制約があります。それは、ジャンプ先のラベルは、必ず同じプロシージャの中に存在しなければならないという点です。別のSubプロシージャや、別のモジュールにあるラベルへ直接ジャンプすることはできません。この制約があるおかげで、GoTo文の影響範囲は「そのプロシージャの中だけ」に限定されます。

通常の流れ
上から下へ
順番に実行
条件判定
GoToで
ジャンプするか判断
ラベルへジャンプ
指定した位置まで
強制的に移動
処理を継続
ジャンプ先から
処理を再開
AI鬼管理山崎 AI鬼管理山崎
ループのスキップだけが目的なら、条件分岐の書き方を工夫することでGoToを使わずに済むケースも多くあります。GoToは「他に読みやすい書き方がないか」を一度検討したうえで使うのがおすすめです。

2-2. ループを完全に抜けたい場合はExit For / Exit Doを使う

先ほどの例は「その回だけスキップして次へ進む」処理でしたが、これとは別に「条件を満たした時点でループ自体を完全に終了したい」という場面もあります。この場合はGoToではなく、Exit For(Forループ用)やExit Do(Do〜Loop用)という専用の命令を使うのが標準的な書き方です。

Sub FindFirstOver100()
    Dim i As Integer
    Dim nums(1 To 5) As Integer
    nums(1) = 30: nums(2) = 80: nums(3) = 150: nums(4) = 60: nums(5) = 200

    For i = 1 To 5
        If nums(i) > 100 Then
            MsgBox nums(i) & " が最初に100を超えました"
            Exit For  ' ループ自体をここで完全に終了する
        End If
    Next i
End Sub

「その回だけスキップして次へ進みたい」ならGoToによるジャンプ、「ループ自体を完全に抜けたい」ならExit For / Exit Do、という使い分けを覚えておくと、それぞれの場面でより読みやすいコードが書けます。

03 On Error GoToによるエラー処理の基本 実行時エラーが起きたときの「避難経路」を用意する

GoTo文の中でも特に実務上の価値が高いのが、On Error GoToを使ったエラー処理です。マクロの実行中に何らかのエラー(0での割り算、存在しないシートの参照など)が発生したとき、通常であればVBAは実行時エラーのダイアログを表示してマクロを停止します。On Error GoToを使うと、エラー発生時に指定したラベルへジャンプさせ、独自のエラー対応処理を実行できます。

📚 用語解説

実行時エラー:プログラムの実行中に発生するエラーのこと。文法上は正しいコードでも、「存在しないファイルを開こうとした」「0で割り算をしようとした」など、実行してみて初めて発覚する種類の問題を指します。VBAでは既定でエラーダイアログが表示され、処理が中断されます。

Sub SafeDivide()
    On Error GoTo ErrorHandler

    Dim result As Double
    result = 10 / 0  ' 意図的にエラーを発生させる例

    MsgBox "計算結果: " & result
    Exit Sub

ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description
End Sub

On Error GoTo ErrorHandlerを実行しておくと、以降の処理でエラーが発生した瞬間にErrorHandler:ラベルへジャンプします。Errというオブジェクトを使うと、発生したエラーの内容(Err.Description)や番号(Err.Number)を取得でき、状況に応じたメッセージを表示することができます。

📚 用語解説

Errオブジェクト:VBAが実行時エラーの情報を自動的に格納しておく特別な入れ物。Err.Numberでエラー番号、Err.Descriptionでエラーの内容説明を取得できます。エラー処理の中でこの情報を使うことで、「何が原因で失敗したのか」を担当者に分かりやすく伝えることができます。

3-1. On Error GoTo 0:エラー処理を無効化する

On Error GoTo 0という特殊な書き方は、それまで設定していたエラー処理を無効化し、通常の(VBAの標準的な)エラーダイアログ表示に戻す命令です。特定の処理ブロックだけエラー処理を有効にし、その後は通常の動作に戻したい場合に使われます。

3-2. On Error Resume Next:エラーを無視して次へ進む

もう一つよく使われるのがOn Error Resume Nextです。これはラベルへのジャンプではなく、エラーが発生しても処理を止めず、次の行から実行を継続するという指定です。「ファイルが存在するかどうかを確認したいだけで、なければないで処理を続けたい」といった場面で使われます。

⚠️ On Error Resume Nextの乱用に注意

On Error Resume Nextは便利な反面、それ以降に発生したすべてのエラーを無言で無視してしまいます。想定していない箇所のエラーまで握りつぶしてしまい、不具合の原因究明を困難にすることがあるため、有効にする範囲を最小限に絞り、使い終わったら速やかに元の状態に戻すことが推奨されます。

代表菅澤 代表菅澤
On Error Resume Nextは「見て見ぬふりをする」命令だと捉えています。使う場面を誤ると、本来気づくべき重大なエラーまで隠してしまうので、使用は限定的にすべきだと考えています。

3-3. 実務でよくあるエラー処理の型

業務マクロで実際によく使われるエラー処理には、いくつかの定番パターンがあります。

✔️ファイルが見つからない:処理対象のファイルの有無を確認し、なければ分かりやすいメッセージを出して終了する
✔️シートが存在しない:想定したシート名が見つからない場合に、原因を伝えて処理を中断する
✔️入力値が不正:数値が入るべき欄に文字が入っている等の場合、該当箇所を伝えて修正を促す
✔️外部システムとの通信エラー:他のシステムとの連携処理が失敗した場合、リトライするか中断するかを判断する

これらのパターンをあらかじめ洗い出し、それぞれに対応するエラー処理を実装しておくことで、「想定外の事態でマクロが完全に止まってしまう」リスクを大きく減らすことができます。

Claude Code 完全解説セミナー|経営者・会社役員専用 1on1 60分 無料Claude Codeを経営に活かしたい方へ — AI鬼管理

04 なぜ「GoToの多用」は長年問題視されてきたのか プログラミングの歴史に残る議論を知っておく

GoTo文は、実はプログラミングの世界で長年「多用すべきでない」と言われ続けてきた、やや特殊な立ち位置の命令です。ここでは、非エンジニアの方にも知っておいてほしい背景を紹介します。

GoTo文をコードのあちこちで使いすぎると、処理の流れが複雑に入り組み、コードを読んでも「次にどこへ進むのか」が追いにくくなるという問題が起こります。この状態は、糸が複雑に絡み合った様子になぞらえて「スパゲッティコード」と呼ばれます。この問題提起は古くからプログラミングの世界で広く議論されてきた、著名な論点の一つです。

📚 用語解説

スパゲッティコード:処理の流れが複雑に入り組み、どこからどこへ実行が移るのかを追いにくくなったコードを指す俗称。GoTo文の多用が典型的な原因の一つとされ、修正・保守が困難になりやすいという特徴があります。

書き方メリットデメリット
GoTo文を多用する条件分岐を素早く書ける、局所的には直感的処理の流れが追いにくくなり、規模が大きくなるほど保守が困難に
If / For / Do While等で構造化する処理の流れが上から下へ追いやすい、保守しやすいGoToに比べて書き方にやや慣れが必要な場合がある

4-1. 現在の実務での位置づけ:「エラー処理」は例外的に許容される

こうした背景から、現在の実務では「条件分岐やループのスキップにGoToを多用するのは避け、代わりにIf文やFor文で構造化する」のが基本方針とされています。ただし例外があり、On Error GoToによるエラー処理は、GoTo文の数少ない「実務上ほぼ必須」とされる用途です。VBAには、他の多くの現代的な言語にあるようなtry-catch形式のエラー処理構文がないため、エラー処理を書く手段としてOn Error GoToが標準的に使われ続けています。

覚えておきたい原則

「条件分岐・ループ制御」ではGoToを避け、If/For/Do等で書く。「エラー処理」ではOn Error GoToを積極的に使う。この使い分けが、現在のVBA実務における標準的な考え方です。

AI鬼管理山崎 AI鬼管理山崎
「GoTo文は悪」という話だけが独り歩きしがちですが、正確には「使いどころを選ぶべき」というのが実情です。特にエラー処理においては、GoToを使わない代替手段の方がむしろ少数派です。

05 【独自】業務マクロの「エラー処理の甘さ」が引き起こすトラブル 「動いているうちは気づかない」リスクの正体

ここからは、この記事の独自セクションです。エラー処理は、正常に動いている間はその重要性に気づきにくい仕組みです。しかし、いざエラーが起きたときの備えの有無が、業務への影響度を大きく左右します。

5-1. 担当者不在時に「誰も対処できない」エラー停止

エラー処理が実装されていないマクロは、実行時エラーが起きた瞬間に、VBAの標準エラーダイアログが表示されたまま停止します。作成した担当者であればダイアログの内容から原因を推測できるかもしれませんが、担当者が不在のときに他の社員がこのダイアログに遭遇すると、何もできずに立ち往生してしまうケースが頻発します。

5-2. エラーの「握りつぶし」による問題の発見遅れ

先述のOn Error Resume Nextを安易に使い、エラーメッセージも何も表示しないまま処理を継続させてしまうマクロも少なくありません。この場合、実際にはエラーが発生していたにもかかわらず、誰にも気づかれないまま処理が「成功したかのように」進んでしまうという、より深刻な問題につながります。

5-3. 部分的に処理された中途半端なデータの発生

例えば100件のデータを順番に処理するマクロが、50件目でエラーにより停止した場合、「50件は処理済み、残り50件は未処理」という中途半端な状態がシステムやファイルに残ります。この状態に気づかず追加の処理を実行すると、二重処理や集計のズレにつながることがあります。

エラー処理なし
対応策が
用意されていない
実行時エラー発生
想定外の
データ・状況に遭遇
処理が中断
担当者不在だと
誰も対処できない
業務影響が拡大
中途半端なデータ・
締め作業の遅延等
⚠️ トラブル事例についての注意

本記事の事例は一般的に起こりうるパターンの説明であり、特定の企業事例を示すものではありません。マクロの規模・運用体制によって発生条件や影響度は異なります。

5-4. エラー処理を「後回し」にするコストの差

エラー処理は、マクロ作成時に組み込んでおくコストと、後から追加するコストとで、必要な工数が大きく異なります。以下は、説明のための概算イメージです。

タイミング主な作業内容影響範囲(概算イメージ)
作成時(想定されるエラーを洗い出す)On Error GoToの組み込みのみ数十分程度
運用開始後(エラーで一度止まった後)原因調査+エラー処理の追加実装数時間程度
エラーが握りつぶされ問題が発覚した後データ検証・訂正・関係者への説明数日規模になることもある

この表からも分かる通り、「作成時にエラー処理を組み込んでおく」という一手間は、後々の業務停止や説明対応を防ぐための、極めて費用対効果の高い投資だと言えます。

06 【独自データ】GENAI実運用:AIによるエラー処理のレビュー・改善 Claude Codeが業務マクロの安全性向上をどう支援しているか

弊社(株式会社GENAI)では、Claude Max 20xプラン(月額$200・約30,000円)を契約し、営業・広告運用・記事制作・経理・秘書業務まで社内のあらゆる業務でClaude Codeを活用しています。この中には、既存のExcelマクロのエラー処理レビュー・改善業務も含まれます。

項目内容
契約プランClaude Max 20x(月$200 / 約30,000円)
利用開始2025年後半〜
対象業務既存VBAマクロのエラー処理点検・改修、WordPress/LP制作、スクリプト書き捨てなど開発全般

弊社の実運用の肌感としては、既存マクロに対して「このマクロにエラー処理が入っていない箇所を教えて」「想定されるエラーのパターンを洗い出して」とAIに依頼するだけで、人力では見落としがちな箇所も含めて点検してもらえる点が、大きな効率化につながっています。

💡 数値についての注意

これらは弊社の肌感・概算に基づくものであり、業種・業態・マクロの規模によって効果は変動します。「業界平均」ではなく、あくまで弊社1社の実運用データとしてご参照ください。

AI鬼管理山崎 AI鬼管理山崎
AIにエラー処理の点検を頼むと、「このシートが存在しない場合」「この値が空欄の場合」など、作成時には想定していなかったパターンまで指摘してくれることがあります。第三者視点でのレビューという意味でも有効だと感じています。
代表菅澤 代表菅澤
重要なのは「とりあえずエラーを消す」のではなく、「どんな異常事態が起こりうるか」を洗い出したうえで、それぞれに適切な対応を用意することです。AIに頼る場合も、この考え方の軸は変わりません。

6-3. すべてのマクロを一度に見直すのではなく、影響度の高いものから

弊社がAIとの協働でエラー処理の改善を進める際も、「社内のすべてのマクロを一斉に点検する」ことは狙いません。最初は、業務影響の大きいマクロ(締め処理・請求書発行など、止まると業務全体に波及するもの)を1つ選んで、AIによるエラー処理の点検から着手します。

✔️止まると業務全体に影響する「重要度の高いマクロ」を洗い出す
✔️そのマクロのエラー処理の有無を、AIに点検・洗い出ししてもらう
✔️指摘された箇所について、実際の担当者が対応方針を確認する
✔️問題がなければ、他のマクロにも同じ点検の進め方を横展開する

この進め方であれば、限られた工数の中でも、業務影響の大きい箇所から確実に安全性を高めていくことができます。

Claude Code 完全解説セミナー|経営者・会社役員専用 1on1 60分 無料Claude Codeを経営に活かしたい方へ — AI鬼管理

07 非エンジニアがAIにエラー処理を任せる3つのコツ VBAを書けなくても、正しく要件を伝えれば十分に使いこなせる

On Error GoToのコードを自分で書けるようになる必要はありません。重要なのは、「どんな異常事態が起こりうるか」「そのとき何をしてほしいか」を具体的に言語化する力です。ここでは非エンジニアでも実践できる3つのコツを紹介します。

7-1. 【コツ1】「起こりうる異常事態」を業務目線で洗い出す

「エラー処理を入れて」という指示だけでは、AIはどんな異常事態を想定すべきか判断できません。「対象のファイルが見つからない場合」「入力必須の欄が空欄のまま実行された場合」「金額がマイナスになっている場合」のように、業務上起こりうる異常パターンを具体的に伝えることで、実用的なエラー処理が実装されます。

7-2. 【コツ2】エラー発生時に「誰が何をすべきか」を明確にする

エラーが発生したとき、単に「エラーが起きました」と表示するだけでは、担当者不在時に対処できません。「エラー内容を分かりやすく表示したうえで、処理を中断する」のか「軽微なエラーなら記録だけして処理を続ける」のか、エラーの重大度に応じた対応方針を伝えておくと、より実用的な実装になります。

✔️「このファイルがない場合はどうしてほしいか」など、異常パターンを具体的に伝える
✔️「エラー内容を担当者以外が見ても分かるメッセージにしてほしい」と表示内容を指定する
✔️「軽微なエラーは記録だけ、重大なエラーは処理を止める」など対応方針を分ける
✔️処理が途中で止まった場合、どこまで処理済みか分かるようにしてほしいと伝える

7-3. 【コツ3】実装後、意図的にエラーを発生させて動作確認する

AIが実装したエラー処理も、実際にエラーを発生させてみて、意図通りに動くかを確認する工程が欠かせません。「わざと存在しないファイル名を指定してみる」「わざと空欄のまま実行してみる」といった形で、テスト用データを使って動作確認することを推奨します。

⚠️ エラー処理の動作確認は必須

エラー処理のコードは、正常系のテストだけでは不具合に気づけません。意図的に異常な状況を作り出し、想定通りにエラー処理が働くかを確認する工程を、実装後に必ず設けてください。

代表菅澤 代表菅澤
エラー処理を実装して満足するのではなく、「本当にそのエラー処理が機能するか」を実際に試すところまでがワンセットです。この最後の確認を省略すると、いざというときに機能しないという本末転倒な事態になりかねません。

08 まとめ ── 「異常時の備え」が業務マクロの信頼性を決める GoTo文とエラー処理の理解は、業務マクロを長く安心して使う土台になる

この記事では、VBAのGoTo文の基本から、ラベルへのジャンプ、On Error GoToによるエラー処理、GoToの多用が問題視されてきた背景、そして「なぜ業務マクロのエラー処理の甘さが危険なのか」という実務目線での重要性までを解説しました。最後にポイントを振り返ります。

✔️GoTo文は、処理を指定したラベルへ強制的にジャンプさせる命令
✔️GoToによるジャンプは、同じプロシージャ内のラベルにしか使えない
✔️On Error GoToは、実行時エラー発生時に指定した処理へジャンプさせるエラー処理の基本手段
✔️On Error Resume Nextはエラーを無視して継続する命令で、乱用するとエラーの握りつぶしにつながる
✔️条件分岐・ループにはGoToを避けて構造化する一方、エラー処理ではGoToが実務上ほぼ必須
✔️エラー処理のないマクロは、担当者不在時に業務が完全に止まるリスクを抱えている
✔️弊社GENAIでは、AIによる既存マクロのエラー処理点検・改善を実践している

GoTo文というキーワードを覚えることが目的ではありません。この記事で本当にお伝えしたかったのは、「正常に動くこと」だけでなく「異常事態にどう備えるか」を最初から設計に組み込んでおくことが、業務マクロを長く安心して使い続けるための鍵になるという発想です。この発想さえ持てれば、コードが書けなくても、AIに的確な指示を出せるようになります。

特に、担当者が不在のときでもマクロが安全に停止し、状況が分かるメッセージを残してくれるかどうかは、業務の継続性を大きく左右します。「動いているから大丈夫」ではなく、「止まったときにどうなるか」まで想定しておくことが、業務マクロと長く付き合っていくための現実的な備えです。

代表菅澤 代表菅澤
弊社では「AI鬼管理」というサービスで、Claude Codeを使った業務マクロの安全性点検・保守設計から伴走まで支援しています。「エラーで止まったときに誰も対処できない」という不安を抱えている企業ほど、早めの点検をおすすめします。まずは無料相談で、あなたの会社のマクロ運用状況を一緒に整理しましょう。

業務マクロのエラー処理点検・安全性向上を、AI鬼管理が一緒に進めます

エラー処理の見直しのような細かい作業から、マクロ全体の安全性の底上げまで。
弊社の実運用ノウハウをベースに、個別に導入設計のご相談を承ります。

AI鬼管理山崎 AI鬼管理山崎
「マクロが止まったときに誰も対処できず困った経験がある」という方に最適です。まずは無料相談で、あなたの会社のマクロ運用の現状を一緒に整理しましょう。

NEXT STEP

この記事の内容を、あなたのビジネスで
実践してみませんか?

AI活用を自社で回せるようになりたい方へ

AI鬼管理

Claude Code・Cowork導入支援から業務設計・社内浸透まで実践ベースで伴走。「自社で回せる組織」を90日で作る経営者向けトレーニング。

よくある質問

Q. GoTo文は今のプログラミングでは使うべきではないのですか?

A. 条件分岐やループの制御においては、If文やFor文で構造化する書き方が推奨されており、GoToの多用は避けるべきとされています。ただし、VBAのエラー処理(On Error GoTo)のように、GoToを使うことが実務上標準的とされる用途もあり、一律に「使うべきでない」というわけではありません。

Q. On Error GoToとOn Error Resume Nextはどう使い分ければいいですか?

A. エラーが発生した際に特定の対応処理(メッセージ表示・後片付けなど)を実行したい場合はOn Error GoToを、特定の1行だけエラーを無視してよい場合(存在確認など)はOn Error Resume Nextを、それぞれ限定的な範囲で使うのが基本です。

Q. ラベルの名前には何でも使えますか?

A. 基本的には変数名と同様のルール(英数字とアンダースコアの組み合わせなど)に従う必要があります。VBAの予約語(Sub、Ifなど)と同じ名前は使えません。分かりやすさの観点から、ErrorHandlerやSkipなど、用途が伝わる名前を付けるのが一般的です。

Q. エラー処理を入れると、マクロの動作が遅くなりますか?

A. On Error GoTo自体の処理負荷は非常に小さく、実務上体感できるような速度低下にはつながりません。エラー処理を入れないことによる「エラー発生時の業務停止リスク」の方が、実務上はるかに大きな問題になります。

Q. 複数の異なるエラーに対して、それぞれ違う対応をすることは可能ですか?

A. 可能です。エラー処理の中でErr.Number(エラー番号)を確認し、If文で分岐させることで「このエラーのときはA、あのエラーのときはB」といった個別の対応を実装できます。

Q. 非エンジニアでもAIにエラー処理の実装を任せられますか?

A. 任せられます。「このファイルがない場合はどうしてほしいか」「エラーが起きたとき誰が見ても分かるメッセージにしてほしい」といった要望を日本語で伝えれば、AIが適切なOn Error GoToの実装を提案してくれます。ただし、実装後は意図的にエラーを発生させて動作確認する工程を必ず残すべきです。

AIAI鬼管理

AI鬼管理へのお問い合わせ

この記事を読んで気になった方へ。
AI鬼管理の専門スタッフが、御社に最適な
業務自動化プランを無料でご提案します。

会社名を入力してください
業種を選択してください
お名前を入力してください
※法人・事業用のメールアドレスでお願いします(Gmail等の個人用フリーメールは受付できません)
正しいメールアドレスを入力してください

1つ以上選択してください
1つ以上選択してください
月額コストを選択してください

約1時間のオンライン面談(Google Meet)です

空き枠を取得中...
面談日時を選択してください

予約確定後、Google Calendarの招待メールをお届けします。
しつこい営業は一切ございません。

監修 最終更新日: 2026年8月7日
菅澤孝平
菅澤 孝平 株式会社GENAI 代表取締役
  • AI業務自動化サービス「AI鬼管理」を運営 — Claude Code を活用し、経営者の業務を「AIエージェントに任せる仕組み」へ転換するパーソナルトレーニングを 伴走構築 で提供。日報・採用・問い合わせ対応・経費精算・議事録・データ集計・営業リスト等の定型業務を、AIに代行させる体制を経営者と一緒に作り込む
  • Claude Code 実装ノウハウを 経営者・法人クライアント に直接指導。生成AIを「便利ツール」ではなく 「業務を任せる存在」 として運用する手法を体系化
  • 「やらせ切る管理」メソッドの開発者。シンゲキ株式会社(2021年設立・鬼管理専門塾運営)にて累計3,000名以上の学習者を志望校合格に導いた管理メソッドを、AI × 経営者支援 に転用
  • 著書『3カ月で志望大学に合格できる鬼管理』(幻冬舎)、『親の過干渉こそ、最強の大学受験対策である。』(講談社)
  • メディア出演: REAL VALUE / カンニング竹山のイチバン研究所 / ええじゃないかBiz 他
  • 明治大学政治経済学部卒
現在は AI鬼管理(Claude Code活用の伴走型パーソナルトレーニング)を主事業とし、経営者と二人三脚で「AIに業務を任せる仕組み」を実装。「実行を強制する環境」を AI で構築する手法を、自社の実運用知見をもとに発信している。