重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

仕事でACCESSでデータを加工→EXCEL出力したあと、出力されたEXCELで
全セル選択→コピーし、別のEXCELに形式を選択して値と書式のみコピー
(テキスト形式でEXCEL出力されるので、それを任意の方に変換させるため)
そのあと、別のEXCEL上にあるマクロでデータを印刷用に加工するような
仕組みを作ったのですが、突貫工事的な作業だったので、見直しをしようかと思っています。
 新しい仕組みではACCESSでデータを加工し、EXCELを起動させ、EXCEL側からACCESSのテーブルをインポートし、印刷用に加工することを考えているのですが、EXCEL上で、ACCESSのテーブルをコピーし、形式を選択して貼り付けるようなことはできないのでしょうか?
 EXCEL上で外部データの取り込みを行うと新規挿入になってしまうので、困っています。どなたか良い案をお教えいただけないでしょうか。

A 回答 (3件)

#1です。

recordsetをそのままワークシートに貼り付ける事が、Access側から出来ないものかと調べていたら、ズバリのコードを見つけました。
>07.レコードセットの内容をExcelのワークシートにコピー
をご覧下さい。

参考URL:http://www.geocities.jp/cbc_vbnet/tips/Excel01.h …

この回答への補足

早速のレスありがとうございます。

深くは読めていないのですが、現時点でテーブルをクリップボードに保存してcsv形式で「形式を指定して貼り付け」でできそうです。
ADOやDAOはまだ初心者で文法しかわからないので、実践にはとても使えません。

Range("A1").Select
'コピーしたテーブルをCSV形式で貼り付け
ActiveSheet.PasteSpecial Format:="Csv", Link:=False, DisplayAsIcon:=False

 問題はどうやってテーブルをクリップボードにコピーするかですが、
DoCmd.CopyObjectだとコピー先も指定しなければいけないので、
テーブルをクリップボードだけにコピーできないかなぁと悩んでいます。

補足日時:2008/10/05 21:12
    • good
    • 0

取り違えているかも知れませんけど。



データベース操作
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …

こう言った感じの事ではないのかな?
    • good
    • 0

参考URLをご覧下さい。

中でも、下記がご参考になるかと思います。
http://www.ken3.org/vba/backno/vba093.html

参考URL:http://www.ken3.org/cgi-bin/group/vba_access_exc …
    • good
    • 0

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