ACCESSで作ったクエリを一度エクセルにエクスポート(マクロを使ってワークシート変換)後、エクスポート先のシートとは別シート(同一ブック内)で集計し、集計結果をACCESSへインポート(マクロを使ってワークシート変換)させたいのですが、前回の集計結果がインポートされてしまい、新しい集計結果が反映されません。

一度エクセルのブックを開けば新しい集計結果が取り込めます。
何故でしょうか?
またブックを開かずに最新のエクセルの集計結果をACCESSに反映させる方法はありますでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

Excelのファイルを開いて保存する記述です。


下記の場合コマンドボタンCmd1のクリック時のイベントに記述した場合。
マクロでエクスポートする部分はDoCmd.TransferSpreadsheet・・の部分です。エクセルファイル名.xlsはフルパスで記述してください。
参照設定のMicrosoft Excel *.* ObjectLibraryにチェックされているか確認しチェックされてなければチェックを入れて下さい。*.*はお使いのAccessのバージョンに合ったものが表示されているはずです。

Private Sub Cmd1_Click()
On Error GoTo Err_Cmd1_Click

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

DoCmd.TransferSpreadsheet acExport, 8, "XXX", "エクセルファイル名.xls", False, ""

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("エクセルファイル名.xls")
Set xlSheet = xlBook.Worksheets(1)

xlApp.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

Exit_Cmd1_Click:
Exit Sub

Err_Cmd1_Click:
MsgBox Err.Description
Resume Exit_Cmd1_Click

End Sub
    • good
    • 0

>一度エクセルのブックを開けば新しい集計結果が取り込めます。


状況が分かりにくいですが・・・
Accessでエクスポート後、ExcelのBookを開き別シートで集計した後、Excelを閉じAccessからインポートしても反映されないという事なのでしょうか?
そうでなければExcelにエクスポート後すぐAccessにインポートする。ということでしょうか?
この場合はExcel上で再計算されていないためだと思うのですが・・。
AccessからExcelのBookを開き再計算させれば良いと思うのですが。
ExcelのシートをAccessのテーブルにリンクしシートにデータを追加してもExcelのシート内で再計算はされませんから。
>またブックを開かずに最新のエクセルの集計結果をACCESSに反映させる方法はありますでしょうか?
開かないと集計を反映できないと思います。VBでExcelを閉じた状態で再計算させるのは出来ると思います。

この回答への補足

ありがとうございます。
Excelにエクスポート後直ぐにAccessにインポートしています。

AccessからExcelのBookを開く方法を教えていただけますでしょうか?

お手数をお掛けいたします。宜しくお願いいたします。

補足日時:2005/04/21 17:48
    • good
    • 0

 ちょっと良くわからないので、補足要求を(^_^;


 エクスポート後、集計作業はエクセル側で行っている
のですか?それともACCESS?
>一度エクセルのブックを開けば新しい集計結果が取り込めます。
と書いているということはエクセルではないのかな?
理解力不足で、ココがわかっていません。
同一の動作を再現したいので、再度投稿していただけると
助かります。

この回答への補足

ありがとうございます。
補足させていただきます。

集計作業はエクセル側で行っています。

ACCESSからエクセルにデータを渡した後直ぐにエクセルからACCESSにデータを戻しています。

上記の流れでは集計結果がACCESSに反映されないので、確認の為一度エクセルを開き集計結果をエクセルで確認後、エクセルを終了し、再度上記マクロを実行すると今度はACCESSに集計結果が反映されます。

説明がわかりにくくてすみません。
宜しくお願いいたします。

補足日時:2005/04/21 17:45
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

関連するカテゴリからQ&Aを探す


人気Q&Aランキング