[三流君(TOPへ)] / [VBAで楽しく] / [記事一覧] / [作者(三流君)に質問する]



三流君VBAで Access から Excel 連携

AccessからCreateObject("Excel.Application")でExcelのオブジェクトを作り、データをセットする、転記する。そんな感じの処理のサンプルです。
※カッコつけて、連携と書いてますが、どちらかと言えば一方通行のデータの流し込み、差し込み印刷 的なイメージが強かったり。

百聞は一見に

百聞は一見に・・・こんなことができます
Access から Excelファイルを開く マクロを作成

Access 2003 から 事前に作成したExcelファイルのテンプレートを開く そんな マクロ VBAを作成してみます。
静止画と解説、ソースは

  1. AccessからExcelを起動してファイルを開く、そんなマクロ(VBA)
  2. 参照設定しないとxlの定数が使えくて困ったり
  3. □チェックを付けたデータのみ印刷したり
  4. Range("名前").Offset(0, 1) を使用してデータを指定の場所へ なんて、セコイ技を使ってみたり。
イロイロと失敗しながら遊んでます。↑を見て笑ってください。。。


概要説明とリンク

概要を見て、これは?と思ったら、タイトルをクリックして本文を読んでください

リンク先概要

[No.2 AccessからExcel出力]

で、
・ウィザードを使ってたサンプルを作れることを説明
・マクロ記録でExcelの操作をVBAにする
・頭にオブジェクト変数を付けてAccessからExcelを操作
を簡単に説明しました。

[No.7 MDBと同フォルダのExcelファイルを開く]

では、
CurrentDb.NameからMDBの位置を取りだし、
相対位置(同じパス)のExcelファイルを開きました。

[No.13 Excel セルに名前を付けてみる]

では、
Accessから名前付きのセルにデータをセットして、
変更が少ないシステムについて説明しました。

[No.14 Excel 隣のシートを参照して逃げる]

では、名前付きのセル参照から、一歩後退?一歩進んで、
データシートと表のシートを分け、データはデータシートにセット、
データシートを参照して表を作りました。

[No.48 AccessからExcelブックを開き、書式設定を行う]

では、
AccessからExcelブックを開き、
objEXCEL.Selection.Style = "Comma [0]"
objEXCEL.Selection.NumberFormatLocal = "0.00_ "
で書式設定を行うサンプルを解説しました。

[No.54 AccessからExcel開いて、処理終了後に閉じたい]

では、
.RunでExcelのVBA関数を呼び出し、処理後、
oApp.ActiveWorkBook.Close SaveChanges:=False
oApp.Quit で終了する処理を解説しました。

[No.58 Access クエリーを Excel既存シートへ エクスポート]

DoCmd.TransferSpreadsheet acExportを使用して、Excelへ出力。
いろいろとやってみたがしっくりいかなかった。

[No.59 Excelのマクロ付きフォーマットを壊されないように]

では、
ActiveWorkbook.SaveAs FileName:="XXXXXX"
と別名に保存して、元ファイルを壊されない小細工を説明しました。

[No.64 AccessからExcelファイルを開いて・印刷して・閉じたい]

Excelでやりたい操作をマクロ記録して、
Workbooks.Open ActiveWindow.SelectedSheets.PrintOut ActiveWorkbook.Close
を探り、開いて、印刷して、閉じました(笑)

[No.93 Access2000 ADOでクエリーのレコードを参照 Excelへ出力]

Dim rs As New ADODB.Recordset
rs.Open "Q_顧客情報", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
なんて感じで、ADOでクエリーを開き、Excelへ自分で転記した。

[No.100 AccessからExcel 分類別のシートへデータを転記してみる]

データを分類別にExcelのシートに転記してみました。
(セリーグの打撃成績データをチーム別のシートに転記しました

[No.130 Access クエリーをExcelシートへ10行x3列で出力する]

クエリーで集計した結果をExcelのシートへ出力してみました。
出力時、10行x3列で出力してみました。

↑出力イメージ

[No.131 Access クエリーをExcelシートへ罫線を付けて出力する]

罫線付で、データをExcelへ出力してみました。

[No.138 AccessからExcel出力、色・列幅・行の高さを調整する]

AccessからExcel出力時に
背景色 .Cells(nYLINE, nXLINE).Interior.ColorIndex = 33 'スカイブルー
列幅 .Columns(nXLINE + 1).ColumnWidth = 8.5 など
行の高さ .Rows(nYLINE).RowHeight = 25 など
を調整しました

↑出力イメージ

[No.139 AccessからExcel出力、複数クエリーを1シートへ]

複数のクエリーを色を変えてExcelのシートへ出力してみました

↑出力イメージ

AccessからExcel セルの範囲指定と結合
.MergeCells = Trueでセルを結合させてみました。
i = 10 '10列目の1行目と2行目を連結列にする
oApp.Range(oApp.Cells(1, i), oApp.Cells(2, i)).MergeCells = True
oApp.Cells(1, i) = "連結されたかなぁ?"

過去の記事一覧(バックナンバー)は [ VBA系記事 バックナンバー ] を見てください。



百聞は一見に・・・こんな失敗もあります
参照設定しないと Access から Excel のVBA定数が見つからないよ
Access から Excel を 操作して、データを貼り付けた後、罫線など書式のコピーを行ない形を整えます。 Excel VBAマクロの定数 で ハマった、そんなお話です。 ソースと解説は [AccessからExcelの操作 書式をコピーして罫線・形を整える xl定数の処理ほか] を見てください。

プログラミングの書籍を紹介します

  1. [4798021180]- ゲームプログラマになる前に覚えておきたい技術
  2. [4798116831]- レガシーコード改善ガイド (Object Oriented SELECTION)
  3. [4798119865]- PHP 逆引きレシピ (PROGRAMMER’S RECiPE)
  4. [479735397X]- Photoshop 10年使える逆引き手帖 【CS4/CS3/CS2/CS/7.0対応】 (ああしたい。こうしたい。)
  5. [4798017973]- Excel VBAのプログラミングのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Excel2007/2003対応
  6. [489471499X]- Effective Java 第2版 (The Java Series)

[#QA_MESSAGE][ページ内のTOPへ戻る]

ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、※質問や感想は、気軽に送ってくださいね。

質問や要望など メッセージを送る(三流君に連絡する)

三流プログラマーのKen3 が 皆さんの質問にお答えします
と カッコつけて言っても、実力不足ですべての質問に回答することはできないのが現実なのですが、できる範囲で 三流的な逃げ手 や 解決方法 を探します(回答します)。

感想や質問・要望・苦情など 三流君へメッセージを送る。
時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。
あなたのお名前(ニックネーム):さん
返信は?: 不用(HP更新を待つ) , E-mail→ アドレス:に返事をもらいたい



(感想や質問・要望 メッセージはHPで記事に載せることがあります。)

Blog:[サンプルコードのゴミ箱]
動画:[VBA解説・テスト動画]


[三流君(TOPへ)] / [VBAで楽しく] / [記事一覧]