CELLNETS Excel開発の専門会社

【VBA入門】「デバッグのコツ」実行時エラーの原因究明に必要なこと

処理中の不具合で「実行時エラー」が発生すると、その瞬間にプログラムは落ちてしまいます。

処理中の不具合で「実行時エラー」が発生すると、その瞬間にプログラムは落ちてしまいます。

みなさん、こんにちは。セルネッツ竹本です。

今回は、「原因究明のために行うデバッグ作業」をテーマに、解説をしたいと思います。

実行時エラーでお困りなら

マクロのエラーで業務が止まっていませんか

  • 実行時エラーで処理が途中で落ちてしまう
  • デバッグしても原因の箇所が分からない
  • 作った人が退職してマクロを直せない

そのお悩み、エラーの原因調査と改修で解決できます。Excel専門のシステム開発会社『セルネッツ』なら、エラー箇所の特定と不正な入力値のチェック処理の追加に対応します。再発しにくい構成への見直しもご提案します。前任者が作ったマクロでもご相談ください。

\Excel専門特化 × 低価格 × スピード対応/

マクロのエラー調査を相談する

全国対応・お見積もり無料

◆デバッグ(Debug)とは何か。

むずかしい表現を使わずに、わかりやすく簡単にいうと、「ソフトウェアのエラー原因を調べて修正すること」です。

これを「デバッグ(する)」と呼び、バグ(BUG)には「虫」という意味もあり、デバッグ作業のことを「バグ潰し」や「バグ取り」という表現をすることもあります。

◆実際のサンプルを使って、実行時エラー発生の流れを解説します。

(仕様)2行目~5行目までの金額を求めて下さい。(単価×数量)
(結果)3行目が終わったが、4行目ができなかった。

(実行時エラーの画面)

[デバッグ(D)]を押下すると、発生した箇所が黄色くマーキングされますので、場所はすぐに特定できます。


(注意)但し、2つの条件があります。

【その1】プログラムソース(VBAProject)にPassWordロックをかけず開示すること
     ※ExcelVBAで実行時エラー原因の早期究明に、[Lock]するメリットは無し

【その2】UserForm内のソース記述では、当該箇所が黄色くならないケースあり
     ※Formモジュール内はフォーム要素の収集のみ。処理は標準Moduleが鉄則


以下が、プログラム記述になります。


発生箇所をよく見てください。マウスカーソルを変数の上に置くと、中身が表示されます。

4列目の値がSpaceであることが分かります。原因はこのセルの値が演算不可能な値だったため、と判断できます。つまり、[数量]が不正だったことが原因となったことが分かりました。

◆プログラムソースを解説します。

不正値ということは分かりました。Spaceということも分かりました。

これが原因究明のための「デバッグ作業」の基本となります。

‘※※※※※※※※※※※※※※※※※※※※
Sub M_金額を算出()
‘※※※※※※※※※※※※※※※※※※※※

Dim S_読行 As Long

For S_読行 = 2 To 5

Debug.Print “” & vbCrLf & _
“S_読行: ” & S_読行 & vbCrLf & _
“単価:[” & Cells(S_読行, 3) & “]” & vbCrLf & _
“数量:[” & Cells(S_読行, 4) & “]” & vbCrLf & _
“金額:[” & Cells(S_読行, 5) & “]”

    '[金額]=[単価]*[数量]
    Cells(S_読行, 5) = Cells(S_読行, 3) * Cells(S_読行, 4)

Next S_読行

MsgBox “終わりました!”

End Sub

Debug.Print とは、プログラムの流れを1行づつ追跡する際に、要所にいれることで、
処理を停止し、変数の中身を画面に表示することができます。
この例では、4つの要素をチェックしています。

vbCrLf は、改行コードのことで、見やすく折り返し表示したいときに使います。

今回のサンプルでは、分かりやすいエラーだったため、原因究明が容易でした。

エラーの種類に実は文法エラーや論理エラーなどがあり、「実行時エラー」は落ちてしまうかわりに、場所が特定できるため、一番解決しやすいエラーのひとつです。


今回のテーマは、「原因究明のために行うデバッグ作業」について、解説を行いました。


本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


Excel業務改善事例ショート動画

文章だけでは伝わりにくい改善事例を、ショート動画でご覧いただけます。

◆よくある質問 ◆Excel業務改善の実例 ◆VBA・マクロ活用事例

Excelエラー解決サービス

1件30,000円、解決しなければ料金不要

  • 1件あたり3時間以内で原因を調べて対応
  • リモート接続での対応も可能
  • 根本的な作り直しは見積もりでご提案

目の前のエラーだけを早く直したい場合は、Excelエラー解決サービス(1件30,000円・税別)をご利用ください。対応時間は1件3時間以内で、解決できなかった場合は料金不要です。改修や作り直しが必要な場合は、相見積もりも歓迎です。

\Excel専門特化 × 低価格 × スピード対応/

エラー解決サービスを相談する

全国対応・お見積もり無料

Excel業務改善事例ショート動画よくある質問など公開中

関連記事

Excelシステム開発

Excelを複数人で共同編集できるExcel for the webとは?Excelオンラインの共有手順と業務改善事例

更新日:2026年9月25日

Excelシステム開発

システム開発の依頼ガイド|費用相場・流れ・会社の選び方と「作りすぎない」判断軸

更新日:2026年9月24日

Excelシステム開発

予約システムの開発依頼にかかる費用相場|小規模店舗は100万円以下で作れる

更新日:2026年9月24日

Excelシステム開発

CRMシステム開発の外注費用は?依頼先の選び方と100万円以下に抑える考え方

更新日:2026年9月24日

Excelシステム開発

勤怠管理システム開発の外注費用相場|100万円以下で作る方法とプラン別料金【2026年版】

更新日:2026年9月24日

Excelシステム開発

SFAシステム開発の依頼相場は?高額SaaSに払い続ける前に知るべき「安く作る」現実解

更新日:2026年9月24日

Excelシステム開発

業務システム開発の依頼はいくら?費用相場と「100万円以下」で頼む方法

更新日:2026年9月24日

Excelシステム開発

受発注システム開発の費用相場は?外注料金の内訳と安く抑える方法を解説

更新日:2026年9月24日

Excelシステム開発

販売管理はエクセルで十分?売上管理表・発注管理表の作り方と「限界」の乗り越え方

更新日:2026年9月5日

newsite