ACCESSで作ったクエリを一度エクセルにエクスポート(マクロを使ってワークシート変換)後、エクスポート先のシートとは別シート(同一ブック内)で集計し、集計結果をACCESSへインポート(マクロを使ってワークシート変換)させたいのですが、前回の集計結果がインポートされてしまい、新しい集計結果が反映されません。
一度エクセルのブックを開けば新しい集計結果が取り込めます。
何故でしょうか?
またブックを開かずに最新のエクセルの集計結果をACCESSに反映させる方法はありますでしょうか?
No.1
- 回答日時:
ちょっと良くわからないので、補足要求を(^_^;
エクスポート後、集計作業はエクセル側で行っている
のですか?それともACCESS?
>一度エクセルのブックを開けば新しい集計結果が取り込めます。
と書いているということはエクセルではないのかな?
理解力不足で、ココがわかっていません。
同一の動作を再現したいので、再度投稿していただけると
助かります。
この回答への補足
ありがとうございます。
補足させていただきます。
集計作業はエクセル側で行っています。
ACCESSからエクセルにデータを渡した後直ぐにエクセルからACCESSにデータを戻しています。
上記の流れでは集計結果がACCESSに反映されないので、確認の為一度エクセルを開き集計結果をエクセルで確認後、エクセルを終了し、再度上記マクロを実行すると今度はACCESSに集計結果が反映されます。
説明がわかりにくくてすみません。
宜しくお願いいたします。
No.2
- 回答日時:
>一度エクセルのブックを開けば新しい集計結果が取り込めます。
状況が分かりにくいですが・・・
Accessでエクスポート後、ExcelのBookを開き別シートで集計した後、Excelを閉じAccessからインポートしても反映されないという事なのでしょうか?
そうでなければExcelにエクスポート後すぐAccessにインポートする。ということでしょうか?
この場合はExcel上で再計算されていないためだと思うのですが・・。
AccessからExcelのBookを開き再計算させれば良いと思うのですが。
ExcelのシートをAccessのテーブルにリンクしシートにデータを追加してもExcelのシート内で再計算はされませんから。
>またブックを開かずに最新のエクセルの集計結果をACCESSに反映させる方法はありますでしょうか?
開かないと集計を反映できないと思います。VBでExcelを閉じた状態で再計算させるのは出来ると思います。
この回答への補足
ありがとうございます。
Excelにエクスポート後直ぐにAccessにインポートしています。
AccessからExcelのBookを開く方法を教えていただけますでしょうか?
お手数をお掛けいたします。宜しくお願いいたします。
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのクエリで集計で、先頭...
-
accessクロス集計で前月21日~...
-
AccessからExcelへエクスポート...
-
FROM の中で CASE を使えるでし...
-
桐の集計(集計行設定のこと)...
-
クロス集計の結果を元に戻す方法
-
複数列フィールド値のクロス集計
-
Accessフォームにクロス集計ク...
-
MS-Accessのクロス集計クエリと...
-
アクセスクエリ 締め日毎で絞...
-
アクセスクロス集計
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
Accessでテーブル名やクエリ名...
-
変数が選択リストにありません
-
必須入力項目と入力必須項目
-
INSERT INTO ステートメントに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのクエリで集計で、先頭...
-
FROM の中で CASE を使えるでし...
-
複数列フィールド値のクロス集計
-
Accessフォームにクロス集計ク...
-
桐の集計(集計行設定のこと)...
-
access 存在しない項目を”0件”...
-
AccessからExcelへエクスポート...
-
「警告 : NULL 値は集計または...
-
クロス集計の結果を元に戻す方法
-
VBA 得意先ごと且つ日付ごとに...
-
アクセス レポートのテキスト...
-
数百万件のデータ集計時のソフ...
-
accessクロス集計で前月21日~...
-
アクセスクエリ 締め日毎で絞...
-
絶対値ごとに集計したい
-
クエリを使って縦に一行ずつ足...
-
ファイルメーカーでピボットテ...
-
Accessで年齢から年代ごとの集計
-
アクセスクエリの計算
-
ACCESS レポートでページごとに...
おすすめ情報