• ベストアンサー

ACCESSのテーブルをEXCELにインポートするには?

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

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

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

参考URL:
http://www.geocities.jp/cbc_vbnet/tips/Excel01.html
strikeout
質問者

補足

早速のレスありがとうございます。 深くは読めていないのですが、現時点でテーブルをクリップボードに保存してcsv形式で「形式を指定して貼り付け」でできそうです。 ADOやDAOはまだ初心者で文法しかわからないので、実践にはとても使えません。 Range("A1").Select 'コピーしたテーブルをCSV形式で貼り付け ActiveSheet.PasteSpecial Format:="Csv", Link:=False, DisplayAsIcon:=False  問題はどうやってテーブルをクリップボードにコピーするかですが、 DoCmd.CopyObjectだとコピー先も指定しなければいけないので、 テーブルをクリップボードだけにコピーできないかなぁと悩んでいます。

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

取り違えているかも知れませんけど。 データベース操作 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_130.html こう言った感じの事ではないのかな?

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

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

参考URL:
http://www.ken3.org/cgi-bin/group/vba_access_excel.asp