• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSでExcelにデータ出力、高速化)

ACCESSでExcelにデータ出力、高速化

このQ&Aのポイント
  • ACCESSのVBAを使ってテーブルのデータを既存ブックに出力し、別名で保存をしたいのですが、処理が遅くて困っています。
  • Excelデータの高速出力を実現するために、ACCESSのVBAを使用してテーブルのデータを既存ブックに出力し、別名で保存する方法を教えてください。
  • ACCESSでテーブルのデータをExcelに効率良く出力する方法が知りたいです。処理が遅いため、高速化のアイデアを教えてください。

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

  • ベストアンサー
  • jacob-wk9
  • ベストアンサー率36% (85/231)
回答No.1

内容吟味しないで申し訳ないですけど、既成のマクロでスプレッドシートにエクスポートするマクロが あるので、それをつかったらどうでしょうか。 多分、レコードを1つづつ呼び出して書き込むよりかは早いかと。 ヘルプを見たところVBAでは、 docmd.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA) を使うようです。 使い方の詳細は、ヘルプから参照して速さを比較してください。

shinahiro
質問者

お礼

すみません、上記コードのセル消去部分とTransferSpreadsheetを 組み合わせて、かなり時間短縮することができました! ありがとうございます!

shinahiro
質問者

補足

TransferSpreadsheet だと、 確かに指定シートに出力はできますが別名保存はできませんよね? Excelの元データに出力して別名保存したいのですが・・・。 一応上記のコードだと、理想通りの処理が行われているのですが、 CopyFromRecordset の部分でかなり処理に時間がかかっています。 スプレッドシートというのは始めて聞きました、 ちょっと調べてみます ありがとうございます。

関連するQ&A

専門家に質問してみよう