Access VBAを開発していると、
- エラーの原因が分からない
- 変数に何が入っているか確認したい
- CSV取込時にどこで失敗しているか知りたい
- SQL文の内容を確認したい
- 処理の流れを調査したい
といった場面が頻繁に発生します。
Access VBA開発者が最初に覚えるべきデバッグ手法はDebug.Printです。
初心者のうちはMsgBoxを多用しがちですが、実務レベルの開発ではDebug.Printの利用頻度が圧倒的に高くなります。実際にベテラン開発者が日常的に利用しているデバッグテクニックの代表格です。 Access VBA逆引き集|ベテラン開発者が必ず使っているVBA記述テクニック15選とCopilot活用術ではDebug.Printの活用が重要な開発技術として紹介されています。
- Debug.Printとは
- なぜ重要なのか
- Debug.Printを利用した場合
- 基本構文
- 逆引き① 変数の中身を確認したい
- 逆引き② 複数項目を確認したい
- 逆引き③ SQL文を確認したい
- 逆引き④ ループ回数を確認したい
- 逆引き⑤ 日付や時刻を記録したい
- CSV取込で活用する
- SQLデバッグの定番
- 実務活用例① CSV取込システム
- 実務活用例② 顧客管理システム
- 実務活用例③ 設備管理システム
- 実務活用例④ Excel連携
- 実務活用例⑤ ログ分析
- Debug.PrintとMsgBoxの違い
- 開発現場の定番テクニック
- タイムスタンプ出力
- 条件付きで出力する
- ベテラン開発者の定番パターン
- Copilot活用術① デバッグコード追加
- Copilot活用術② SQL調査
- Copilot活用術③ ログ出力作成
- Debug.Print利用時の注意点
- 開発現場での利用頻度
- Debug.Printを覚えるメリット
- まとめ
Debug.Printとは
Debug.Printは、
変数の内容
処理状況
SQL文
計算結果
をイミディエイトウィンドウへ出力する機能です。
なぜ重要なのか
初心者がよく行う確認方法です。
MsgBox strCustomerName
問題点は
毎回OKを押す
大量処理に向かない
作業効率が悪い
ことです。
Debug.Printを利用した場合
Debug.Print strCustomerName
結果
即座に確認可能
処理を止めない
大量データも確認可能
になります。
基本構文
Debug.Print 変数
例
Debug.Print "開始"
出力
開始
逆引き① 変数の中身を確認したい
最も基本的な使い方です。
Dim strName As String
strName = "東京商事"
Debug.Print strName
出力
東京商事
逆引き② 複数項目を確認したい
CSV取込で便利です。
Debug.Print strCode & "," & strName
出力
C001,東京商事
逆引き③ SQL文を確認したい
実務で非常によく利用します。
Debug.Print strSQL
活用
SQL生成
↓
Debug.Print
↓
内容確認
例
strSQL = "SELECT * FROM T_CUSTOMER"
Debug.Print strSQL
逆引き④ ループ回数を確認したい
大量処理向けです。
lngCount = lngCount + 1
Debug.Print lngCount
出力
1
2
3
4
逆引き⑤ 日付や時刻を記録したい
処理時間測定です。
Debug.Print Now()
出力例
2026/09/13 09:30:00
CSV取込で活用する
CSV取込中の確認です。
Do Until rs.EOF
Debug.Print rs!顧客コード
rs.MoveNext
Loop
効果
取込対象データを確認できます。
SQLデバッグの定番
開発現場では非常によく利用します。
strSQL = "UPDATE T_SALES " & "SET 金額 = 1000"
Debug.Print strSQL
実行前確認
SQL確認
↓
Execute実行
が安全です。
実務活用例① CSV取込システム
データ確認です。
Debug.Print "取込開始"
Debug.Print strFileName
効果
取込履歴の確認が容易になります。
実務活用例② 顧客管理システム
検索条件確認です。
Debug.Print strCustomerCode
効果
検索ミスの調査ができます。
実務活用例③ 設備管理システム
点検結果確認です。
Debug.Print strEquipmentNo
効果
判定処理の確認が容易になります。
実務活用例④ Excel連携
出力値確認です。
Debug.Print lngRow
効果
出力位置を確認できます。
実務活用例⑤ ログ分析
処理経路追跡です。
Debug.Print "処理開始"
Debug.Print "処理終了"
効果
どこで止まっているか分かります。
Debug.PrintとMsgBoxの違い
MsgBox
MsgBox strData
特徴
毎回停止
利用者に見える
Debug.Print
Debug.Print strData
特徴
停止しない
開発者専用
開発現場の定番テクニック
SQL確認です。
Debug.Print strSQL
CurrentDb.Execute strSQL
メリット
エラー発生時に
実行SQL
が確認できます。
タイムスタンプ出力
処理時間を確認できます。
Debug.Print "開始:" & Now()
終了
Debug.Print "終了:" & Now()
効果
処理速度改善に役立ちます。
条件付きで出力する
実務では便利です。
If blnDebug Then
Debug.Print strSQL
End If
効果
本番運用でも利用可能です。
ベテラン開発者の定番パターン
大量処理時です。
lngCnt = lngCnt + 1
If lngCnt Mod 1000 = 0 Then
Debug.Print lngCnt & "件処理"
End If
非常によく利用される記述です。
Copilot活用術① デバッグコード追加
Copilotへの依頼例です。
以下のAccess VBAコードへ
Debug.Printを追加して
デバッグしやすくしてください。
Copilot活用術② SQL調査
SQLエラーが発生します。
Debug.Printを利用して
調査できるよう改善してください。
Copilot活用術③ ログ出力作成
処理の流れが分かるように
Debug.Printを追加してください。
コード解析と非常に相性が良いです。
Debug.Print利用時の注意点
本番コードへ残し過ぎない
大量出力は確認が困難になります。
個人情報出力に注意
顧客データは注意が必要です。
必要箇所だけ利用する
重要な値に絞りましょう。
開発現場での利用頻度
| 順位 | 用途 |
|---|---|
| 1位 | SQL確認 |
| 2位 | CSV取込確認 |
| 3位 | ループ確認 |
| 4位 | エラー調査 |
| 5位 | 処理時間測定 |
ほぼ毎日利用する機能です。
Debug.Printを覚えるメリット
次のような効果があります。
- 開発速度向上
- バグ調査効率向上
- SQL確認が容易
- CSV取込検証が簡単
- Copilot生成コードの検証が容易
Access VBA開発では必須レベルの知識です。
まとめ
Debug.PrintはAccess VBA開発における最重要デバッグ機能の一つです。
特に
- CSV取込
- SQL生成
- Excel連携
- ループ処理
- エラー解析
などで大きな効果を発揮します。
またCopilotを活用することで、
- Debug.Print追加
- デバッグ支援
- コード解析
も効率良く行えます。
派手な機能ではありませんが、Access VBA開発者の生産性を大きく向上させる必須テクニックです。初心者の方ほど早い段階で習得しておくことをおすすめします。

コメント