Excel業務の中には、外部データベースからデータを取得したり、更新したりする処理が必要になるケースが多くあります。販売管理システム、顧客データベース、在庫台帳、会計システムなど、社内の多くのデータはSQL Server・Access・Oracle・MySQLなどのDBに保管されています。しかし、ExcelとDBを連携するVBAコード(特に ADODB を使った接続)は、専門的な知識が必要で、初心者が一から書こうとすると非常に難しく感じます。
接続文字列(ConnectionString)、Recordset操作、SQL構文、エラー処理、参照設定、Close/Set Nothing まで、一つでも間違えると動作しなくなるため、DB接続は“Excel VBAの中でも最も難しい領域”といわれています。
そこで強力に役立つのが、ChatGPTにADODBを使ったDB接続マクロを生成させる方法です。
ChatGPTは「どのデータベースに接続したいか」「どんなデータを取得したいか」を日本語で説明するだけで、接続文字列の生成からSQL文の作成、Recordsetの取り扱いまで、完全なマクロを自動で作成できます。
この記事では、ChatGPTを使って Excel ↔ DB を連携する“ADODBマクロ”を安全かつ簡単に生成する手順、プロンプト例、実務で使える応用方法を詳しく解説します。
目次
- ✅ ChatGPTでADODBマクロを生成する前に知っておくべき基礎知識
- ・ADODBとは?
- ・接続文字列(Connection String)
- ・Recordset(取得したデータの入れ物)
- ✅ ChatGPTでADODBマクロを作るためのプロンプト設計
- ・もっとも基本となるプロンプト例
- ・接続方式を指定する
- ✅ ChatGPTでDB接続マクロを作成するステップ
- ・ステップ①:接続したいDBの種類を伝える
- ・ステップ②:DB名・テーブル名・取得したい列を伝える
- ・ステップ③:データ出力先を指定する
- ・ステップ④:エラー処理を追加させる
- ・ステップ⑤:高速化や安全対策を依頼する
- ✅ ChatGPTが生成できるDB接続(ADODB)マクロの具体例
- ・① SQL Server に接続してデータ取得(Windows認証)
- ・② SQL Server(SQL認証)で接続
- ・③ Accessファイル(.accdb)に接続
- ・④ ExcelファイルをDBとして扱う(ODBC接続)
- ・⑤ Insert / Update / Delete を実行する
- ・⑥ パラメータ付きSQLの作成
- ✅ ADODBマクロのよくある課題とChatGPTに依頼すべき改善点
- ・接続できない/プロバイダが見つからない
- ・Recordsetが閉じられていない問題
- ・SQLの構文ミス
- ・貼り付け速度の問題
- ✅ ChatGPT × ADODB の実務活用事例
- ・実務例①:最新マスタを自動取得してExcelに反映
- ・実務例②:在庫データをExcelで即時参照
- ・実務例③:集計結果をDBへ自動登録
- ・実務例④:Excel帳票をDB情報で自動生成
- ✅ まとめ:ChatGPTを使えばADODBマクロは“専門知識なしで作れる”
✅ ChatGPTでADODBマクロを生成する前に知っておくべき基礎知識
・ADODBとは?
ADODB(ActiveX Data Objects)は、Excel VBAから外部データベースへ接続し、SQLを使ってデータの取得や更新を行うための仕組みです。
ChatGPTはこの構造をすべて理解しているため、自然文で指示するだけで正しいコードを生成できます。
・接続文字列(Connection String)
データベースへの“入口情報”で、次のような要素を含みます。
- Provider
- Data Source(サーバー名、ファイルパス)
- Initial Catalog(DB名)
- UID/PWD(ユーザー名・パスワード)
- Trusted_Connection(Windows認証)
ChatGPTはこれらを組み合わせた ConnectionString を自動で組み立てます。
・Recordset(取得したデータの入れ物)
ChatGPTはRecordsetの扱いも自動で記述します。
- rs.Open SQL, conn
- rs.Fields("列名")
- rs.MoveNext
複雑なVBA構造でも自動化できます。
✅ ChatGPTでADODBマクロを作るためのプロンプト設計
・もっとも基本となるプロンプト例
SQL Serverの「SalesDB」に接続し、
Customersテーブルのデータを取得してSheet1に貼り付けるADODBマクロを作ってください。
Windows認証を使用します。
ChatGPTは以下を含むコードを生成します。
- 接続オブジェクト(ADODB.Connection)
- Recordsetの取得(ADODB.Recordset)
- SQL文(SELECT * FROM…)
- Rangeに貼り付け
・接続方式を指定する
- Windows認証
- SQL認証(UserID/Password)
- Accessファイル接続
- Excelファイル接続
- Oracle接続
- MySQL接続
ChatGPTは接続文字列を自動で切り替えます。
✅ ChatGPTでDB接続マクロを作成するステップ
・ステップ①:接続したいDBの種類を伝える
例:
SQL Server(Windows認証)
Accessファイル(.accdb)に接続
ChatGPTはProviderを判断して正しい設定にします。
・ステップ②:DB名・テーブル名・取得したい列を伝える
例:
SalesDB の Products テーブルから ProductID, Price を取得
SQL文の生成もChatGPTが担当します。
・ステップ③:データ出力先を指定する
例:
Sheet1 の A1 から貼り付ける
貼り付け構造まで自動作成されます。
・ステップ④:エラー処理を追加させる
DB接続では接続エラーが頻繁に起きるため、ChatGPTに以下を追加指示します。
接続失敗時にエラー内容をメッセージ表示し、
安全に切断されるようエラー処理を追加してください。
ChatGPTは以下の構造を生成します。
- On Error GoTo
- 失敗時の MsgBox
- conn.close
- Set Nothing
・ステップ⑤:高速化や安全対策を依頼する
例:
RSを取得後、EOFまでループして配列に格納し、一括貼り付けにしてください。
接続とRecordsetは必ずCloseしてNothingにしてください。
ChatGPTは実務向けのコード品質に仕上げます。
参考:ChatGPTで高速化VBAを作成させる手順|重いマクロを劇的に速くするAI活用術
✅ ChatGPTが生成できるDB接続(ADODB)マクロの具体例
以下に ChatGPT が作れる代表的なADODBマクロを紹介します。
・① SQL Server に接続してデータ取得(Windows認証)
構造:
- Provider=SQLOLEDB
- Trusted_Connection=Yes
- SELECT文
- 取得したデータをシート貼り付け
実務で最も多いパターンです。
・② SQL Server(SQL認証)で接続
- UserID / Password 指定
- 安全性のためパスワードをロックする設定も依頼可能
・③ Accessファイル(.accdb)に接続
Provider=Microsoft.ACE.OLEDB.12.0
Data Source=C:\data\sample.accdb
ChatGPTならファイルパスの変更も柔軟。
・④ ExcelファイルをDBとして扱う(ODBC接続)
Excelのセル範囲をテーブルのように扱える特殊な方法。
・⑤ Insert / Update / Delete を実行する
データ取得だけでなく、書き込みも可能。
例:
- 日次実績をDBへ登録
- マスタ値を更新
- 古いデータを削除
ChatGPTは SQL を含んだ実務向けコードを生成できます。
・⑥ パラメータ付きSQLの作成
SQLインジェクション対策として効果的。
ChatGPTは以下のようなコードも生成可能。
cmd.Parameters.Append ...
cmd.Execute
✅ ADODBマクロのよくある課題とChatGPTに依頼すべき改善点
・接続できない/プロバイダが見つからない
改善依頼例:
Providerが見つからない場合にもエラーメッセージを出してください。
・Recordsetが閉じられていない問題
必ず rs.Close と Set rs=Nothing を追加してください。
・SQLの構文ミス
SQL文を整形してわかりやすくしてください。
ChatGPTはSQL構文の修正も得意です。
・貼り付け速度の問題
配列で受け取り、一括でRangeに貼り付けるよう改善してください。
✅ ChatGPT × ADODB の実務活用事例
・実務例①:最新マスタを自動取得してExcelに反映
- 朝のシステム起動時に最新DB値を読み込み
- Excelマスタを自動更新
- 手作業のミスをゼロに
・実務例②:在庫データをExcelで即時参照
- 商品コード入力 → 自動で在庫数表示
- ADODBでリアルタイムデータ参照
- Excelをフロントエンドとして活用
・実務例③:集計結果をDBへ自動登録
- 毎日の売上合計を Insert
- ログとして残す
- Excel × DB のハイブリッド運用
・実務例④:Excel帳票をDB情報で自動生成
- AccessやSQL Serverのデータを読み込み
- Excelのテンプレートに流し込み
- 自動帳票出力
✅ まとめ:ChatGPTを使えばADODBマクロは“専門知識なしで作れる”
最後に記事内容の要点を整理します。
- ADODBはExcelからDBへ接続する仕組みで、ChatGPTは完全に理解している
- 接続先DB・認証方式・SQL・貼り付け先を“自然文で伝えるだけ”でマクロが完成
- エラー処理・高速化・安全対策なども ChatGPT に依頼できる
- SQL Server / Access / Oracle / MySQL など幅広いDBに対応
- データ取得だけでなく Insert / Update / Delete も可能
- Excel × DB 連携業務の自動化にとても効果的
- ChatGPTを使えば、難易度の高いDB接続マクロも短時間で安全に実装できる
Excel業務でデータベース連携を効率化したい方は、ぜひChatGPTにADODBマクロ生成を依頼し、強力な自動化環境を構築してみてください。