Accessシステムでは、集計結果や帳票データをExcelへ出力する機会が非常に多くあります。
しかし実際の現場では、
- Excel出力後に列幅を調整する
- 見出しに色を付ける
- 印刷設定を行う
- グラフを作成する
- ファイル名を変更する
といった後続作業が発生しています。
結論から言うと、Access VBAからExcelを操作することで、出力後の加工処理まで自動化できます。
単純にExcelへエクスポートするだけではなく、「利用者がすぐ使えるExcel」を作ることが、業務効率化のポイントです。また、Copilotを活用することでExcel操作コードの作成や改善も効率的に行えます。
- はじめに
- Excel出力後自動加工とは
- なぜ必要なのか
- 逆引き① Excelへ出力したい
- 逆引き② Excelを開きたい
- 逆引き③ 列幅を自動調整したい
- 逆引き④ 見出しへ色を付けたい
- 逆引き⑤ 文字を太字にしたい
- 逆引き⑥ オートフィルターを設定したい
- 逆引き⑦ 印刷向き設定をしたい
- 逆引き⑧ 1ページに収めたい
- 実践例① 売上集計レポート
- 実践例② 月次報告書
- 実践例③ 顧客一覧作成
- グラフを作成したい
- シート保護を設定したい
- PDF化まで自動化する
- 実務活用例① 管理資料
- 実務活用例② 品質管理表
- 実務活用例③ 保守報告書
- エラー処理を実装する
- Excelオブジェクトを解放する
- Copilot活用術① Excel加工コード作成
- Copilot活用術② Excelエラー解析
- Copilot活用術③ レポート改善
- Excel自動化導入時のポイント
- AccessとCopilotの組み合わせが有効な理由
- まとめ
はじめに
例えば売上データをExcelへ出力した場合、
Access出力
↓
列幅調整
↓
見出し装飾
↓
印刷設定
↓
保存
↓
配布
という作業が発生します。
毎日行うと大きな工数になります。
そこで、Excel加工まで自動化することで作業時間を削減できます。
Excel出力後自動加工とは
Accessでデータを出力した直後に、
- 書式設定
- 印刷設定
- グラフ作成
- シート保護
などをVBAで実施する仕組みです。
なぜ必要なのか
多くの業務では、
データ出力
≠
完成資料
です。
利用者が手作業で加工しているケースが非常に多くあります。
これを自動化すると、
- 作業時間短縮
- ヒューマンエラー削減
- 資料品質統一
が実現できます。
逆引き① Excelへ出力したい
まず基本です。
DoCmd.TransferSpreadsheet _
acExport, _
acSpreadsheetTypeExcel12Xml, _
"Q_売上一覧", _
"C:\Report\売上.xlsx", _
True
Accessの標準機能で出力できます。
逆引き② Excelを開きたい
出力したファイルを操作します。
Dim xlApp As Object
Dim xlBook As Object
Set xlApp = _
CreateObject("Excel.Application")
Set xlBook = _
xlApp.Workbooks.Open( _
"C:\Report\売上.xlsx")
自動加工の開始です。
逆引き③ 列幅を自動調整したい
最も利用頻度が高い処理です。
xlBook.Sheets(1).Cells. _
EntireColumn.AutoFit
見やすい帳票になります。
逆引き④ 見出しへ色を付けたい
見栄え向上に効果的です。
xlBook.Sheets(1).Range("A1:F1") _
.Interior.Color = RGB(0, 112, 192)
業務資料らしい外観になります。
逆引き⑤ 文字を太字にしたい
タイトルや見出しで利用します。
xlBook.Sheets(1).Range(“A1:F1”) _
.Font.Bold = True
視認性が向上します。
逆引き⑥ オートフィルターを設定したい
利用者に喜ばれる機能です。
xlBook.Sheets(1).Range("A1") _
.AutoFilter
検索や絞り込みが容易になります。
逆引き⑦ 印刷向き設定をしたい
帳票作成では必須です。
xlBook.Sheets(1).PageSetup. _
Orientation = 2
横向き印刷になります。
逆引き⑧ 1ページに収めたい
印刷時に便利です。
With xlBook.Sheets(1).PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
印刷崩れを防げます。
実践例① 売上集計レポート
よくある業務パターンです。
集計クエリ
↓
Excel出力
↓
列幅調整
↓
色付け
↓
印刷設定
↓
保存
完成帳票まで自動化できます。
実践例② 月次報告書
管理職向け資料に便利です。
データ出力
↓
グラフ生成
↓
罫線設定
↓
提出
資料作成時間を削減できます。
実践例③ 顧客一覧作成
営業部門で活躍します。
顧客抽出
↓
Excel出力
↓
フィルター設定
↓
共有
実用性が高まります。
グラフを作成したい
簡単なグラフも作成可能です。
Dim xlChart As Object
Set xlChart = _
xlBook.Sheets(1).Shapes. _
AddChart
分析資料の作成を効率化できます。
シート保護を設定したい
誤編集防止に利用します。
xlBook.Sheets(1).Protect _
Password:="1234"
入力制限ができます。
PDF化まで自動化する
Excel加工後にPDF出力も可能です。
xlBook.ExportAsFixedFormat _
0, _
"C:\Report\売上.pdf"
配布用資料の作成が容易になります。
実務活用例① 管理資料
毎月の経営会議資料です。
Access集計
↓
Excel加工
↓
PDF出力
↓
配布
完全自動化しやすい業務です。
実務活用例② 品質管理表
製造業でよく利用します。
実績抽出
↓
Excel帳票
↓
グラフ作成
↓
保存
品質管理の効率化につながります。
実務活用例③ 保守報告書
顧客提出資料として利用します。
データ取得
↓
Excel帳票生成
↓
PDF保存
定型作業を削減できます。
エラー処理を実装する
Excel操作では必須です。
On Error GoTo ErrHandler
'処理
Exit Sub
ErrHandler:
MsgBox _
Err.Number & vbCrLf & _
Err.Description
安定運用に欠かせません。
Excelオブジェクトを解放する
忘れがちなポイントです。
xlBook.Close
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
Excelの残留プロセスを防止できます。
Copilot活用術① Excel加工コード作成
Copilotへ次のように依頼します。
Access VBAでExcel出力後に
・列幅調整
・見出し色付け
・印刷設定
・PDF出力
を行うコードを作成してください。
実用的な雛形を短時間で作成できます。
Copilot活用術② Excelエラー解析
例えば、
オブジェクト変数が
設定されていません
というエラー内容を貼り付けます。
原因分析や修正案の検討に役立ちます。
Copilot活用術③ レポート改善
出力仕様を提示して、
経営会議向けに
見やすいExcel帳票へ
改善してください
と依頼できます。
資料品質向上に有効です。
Excel自動化導入時のポイント
共通関数化する
保守性が向上します。
テンプレートを活用する
帳票品質を統一できます。
設定テーブル化する
変更に強くなります。
ログを記録する
障害解析が容易になります。
PDF化も検討する
配布効率が向上します。
AccessとCopilotの組み合わせが有効な理由
最近ではCopilotの活用により、
- VBAコード生成
- Excel操作支援
- SQL作成
- ドキュメント作成
- エラー解析
を効率化できるようになりました。
特にExcel連携はAccess開発で非常に利用頻度が高いため、Copilotとの相性が良い分野です。
まとめ
AccessシステムではExcel出力機能が頻繁に利用されます。
しかし本当の業務効率化は、
Excel出力
↓
自動加工
↓
PDF化
↓
配布
まで実現してこそ効果を発揮します。
今回紹介した方法を活用することで、
- 列幅調整
- 書式設定
- 印刷設定
- グラフ作成
- PDF出力
を自動化できるようになります。
さらにCopilotを活用することで、
- VBA作成
- コードレビュー
- エラー解析
- 帳票改善
も効率化できます。
Excel出力後の手作業が残っている業務があれば、一度見直してみてください。想像以上の業務削減効果を得られるはずです。

コメント