あなたの習慣について教えてください!!

accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコードを教えて下さい。

VBA初心者です。過去に同様の質問がありましたらすいません。
現在、accessからExcelへのデータはDocmd.TransferSpreadsheet
にて実施しており、これだと新しいExcelへエクスポートされてしまいます。自分なりに調べているのですがなかなか思うようなものが見つける事が出来ません。
どなたか教えて頂けないでしょうか?

A 回答 (2件)

経験なしの為実際 Docmd.TransferSpreadsheet がどのようなものなのかわかりません。


また他に何を実行されているのかも不明なので、ピンポイント的な回答は厳しいのかなと思います。

>accessデータを指定したExcel、そして指定したセルへエクスポートする

Excelからであれば経験ありますが、これを実行させるとしたら
・VBAを実行するBookを作成する(2つ)
・Book、シート、セル番地の情報は2つ目のVBAと共有できるようにしておく
・1つ目のVBA実行を開始
・エクスポートしたいBookを指定出来るようにダイアログを呼び出す
・シートの指定については不明ですが、セルの指定まで行なったら終了
・Access側で特に何も操作をする必要がないなら、エクスポートの準備ができたらあとはExcel実行Bookを立ち上げ1つに纏めたVBAの実行でも構わない
・基本は『貼り付けたいセルを選択した後に実行』
例:
https://excel-excel.com/tips/vba_288.html
'レコードをシートへ貼り付ける
Range("B7").CopyFromRecordset rs

'レコードをシートへ貼り付ける
ActiveCell.CopyFromRecordset rs
でいけると思います。(未検証)

今のAccessでエクスポート前に何をされているのか不明ですが、 ADODB.Recordset で抽出をしている又は全レコードをそのように出来るのなら、
Access側でExcelアプリを起動させBookの指定~セルの選択までやって上記の『取り込む』代わりに『送り込む』は可能かもしれません。
でも、それ自体は私未経験な物で。
VBA にしろ VB/VC# にしろAccessファイル(or 別のデータベースアプリ)から必要データを取り込む事しか経験ないのでごめんなさい。
    • good
    • 0
この回答へのお礼

あなたに会えてよかった

ありがとうございます。

質問内容が分かりづらくてすいません。
参考にさせていただきつつ、頑張ってみます!

お礼日時:2023/05/22 16:49

拘りなのか事情なのか分からないですが、


・これだと新しいExcelへエクスポートされてしまいます。

新しいってのは新規に作成されたExcelBookと言う意味であれば、逆にExcel側からAccessに接続してデータを取り出す。
という方法なら検索すると見つかりますが、それは出来ないと言う事でしょうか?
例えばExcelBookは毎月シートを作成し年毎にブックで管理してるなど、複数存在するため1本化させるにはAccess側に実行コードが必要とか?

・Docmd.TransferSpreadsheet

こちらの使用(Access自体皆無ですけど)は経験ないですが、検索してみると開くBookはフルパスで指定出来るようです。
でもシートやセル位置についてはよくわかりませんでした。(未経験ですので)
    • good
    • 0
この回答へのお礼

がんばります

返信遅くなりすいません。また、返信ありがとうございます。

逆にExcel側からAccessに接続してデータを取り出す。
という方法なら検索すると見つかりますが、それは出来ないと言う事でしょうか?

これに関しては実際、他の人が作ったaccessを引き継ぐ形で使用しているので、これに追記出来れば良いなと思いがあった為accessに拘ってました。

例えばExcelBookは毎月シートを作成し年毎にブックで管理してるなど、複数存在するため1本化させるにはAccess側に実行コードが必要とか?

そうですね。毎日、報告書として使用したいので複数存在してしまいます。

検索すれば見つかると思うのですが、Excelから接続する形を取ってみようとも考えてます。

お礼日時:2023/05/20 13:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A