【やりたいこと】
ExcelからAccessを起動しAccessで集計した結果を、もとのExcelのシートへ貼り付けたい。
【詳細】
1.Excelに作成したマクロ実行ボタンからAccessを起動
Sub Aecees集計() Dim objACCESS As Object Set objACCESS = CreateObject("Access.Application") objACCESS.OpenCurrentDatabase ActiveWorkbook.Path & "\仕入用.accdb" With objACCESS .Visible = false .Run "Execute_Manager", Format(Cells(2, "c").Value, "yyyymm") End With Set objACCESS = Nothing End Sub
2.Accessでは
・データのリンク処理
・クエリの実行(テーブル作成クエリ)
・作成したテーブルをCopyFromRecordsetでExcelのシートへ貼り付け
3.その後、Excelへ戻り貼り付けたシートをもとに計算処理などをして保存して終了
【困っていること】
Accessから最初に開いていたExcelのシートにデータを貼り付ける処理がわかりません。
Accessからファイル名を指定して開くと、当然ですが別ファイルが開き困っています。
(ユーザーの操作はExcelのみとしたいため、また貼り付けた後に数値を確認し、
手修正で微調整を行い最終的に計算結果を確定させるため、このような処理の流れを検討しています)
どなたかお知恵をぜひお貸しください。。。
よろしくお願いいたします。
皆様
ご回答ありがとうございます。
Accessにすでにあるテーブルではなく、
Excelからボタンを押したら必要なデータをAccess内にインポートして集計し、その結果をExcelへ戻したいため、ExcelオブジェクトをAccessに渡せれば…
と思っているのですが書き方が分からず、困っています。
.Run "Execute_Manager", Format(Cells(2, "c").Value, "yyyymm") ←ここで渡す??
また、Excelに戻したいテーブルは複数あります。
もともとExcelで、必要なデータ(レコード数もかなりあります)を複数のシートに貼りつけて計算処理をさせて複数シートを完成させていたのを
業務改善するためにAccessとの連携に切り替えようと思っています。
宜しくお願い致します。
ここは追記修正依頼欄なので、情報不足があるなら質問を編集して追記してください。
いずれにせよ、何が不明なのかちょっとよく判らないんですけど。
回答4件
あなたの回答
tips
プレビュー