access Excel連携・外部連携 PR

Access VBAでExcelを操作する完全ガイド【初心者〜実務向け】

記事内に商品プロモーションを含む場合があります

はじめに

AccessとExcelを連携させることで、

  • データの一括出力

  • 帳票作成の自動化

  • 分析用Excelファイル作成

など、業務効率が大幅に向上します。

本記事では、
Access VBAでExcelを操作する基本から実務レベルまでをわかりやすく解説します。

Access VBAでExcelを操作する準備

方法①:参照設定を使う(初心者向け)

  1. VBAエディタを開く

  2. メニュー「ツール」→「参照設定」

Microsoft Excel xx.x Object Library

にチェック

Excelを起動する基本コード

Dim xlApp As Excel.Application

Set xlApp = New Excel.Application
xlApp.Visible = True

新しいExcelブックを作成

Dim wb As Excel.Workbook

Set wb = xlApp.Workbooks.Add

セルに値を書き込む

xlApp.Cells(1, 1).Value = “商品名”
xlApp.Cells(1, 2).Value = “価格”

AccessテーブルのデータをExcelへ出力

Dim rs As DAO.Recordset
Dim i As Integer

Set rs = CurrentDb.OpenRecordset(“商品テーブル”)

i = 1
Do Until rs.EOF
xlApp.Cells(i, 1).Value = rs!商品名
xlApp.Cells(i, 2).Value = rs!価格
rs.MoveNext
i = i + 1
Loop

Excelファイルとして保存

wb.SaveAs “C:\test\sample.xlsx”

Excelを閉じる

wb.Close
xlApp.Quit

Set wb = Nothing
Set xlApp = Nothing

実務でよく使う応用例

✔ クエリ結果をExcelに出力

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
“売上クエリ”, “C:\test\sales.xlsx”, True

✔ 既存Excelファイルを開く

Set wb = xlApp.Workbooks.Open(“C:\test\data.xlsx”)

✔ シート名を変更

On Error Resume Next
xlApp.Quit
Set xlApp = Nothing

よくあるトラブル

トラブル 原因
Excelが閉じない Set Nothing 忘れ
参照設定エラー Officeバージョ違い
動作が遅い 1セルずつ書込み

高速化テクニック

xlApp.ScreenUpdating = False
xlApp.Calculation = xlCalculationManual

まとめ

Access VBAとExcel連携を使えば、

  • 帳票作成の自動化

  • データ分析の高速化

  • 業務効率UP

が実現できます。

まずは
✅ Excel起動
✅ 書き込み
✅ 保存
から始めてみましょう。

内部リンク(関連記事)

Access VBA|Excelの列を選択してインポートできるフォームの作り方

Access VBA|Accessでテーブルのフィールド一覧を取得する方法

Accessでフォルダ内のファイル名を一覧取得し、Excelへ出力する方法【VBA】