OS:windows2000pro
アクセスバージョン:アクセス2000
エクセルバージョン:エクセル2000
投稿場所はここでいいのかちょっとわからないですが、投稿します。
素人です。もうしわけないですm(_ _)m
アクセスのテーブルのデータを既存のエクセルの指定したワークシートの指定したセルに送りたいのですが、うまくいきません。
やりたいことは、あらかじめグラフ表示用のエクセルファイルを作成しておいて、アクセスから指定したセルにデータを送り、その直後そのエクセルファイルを開くようにしたいのです。開いた後も、閉じるとアクセスに戻るようにしたいと思います。
現在はマクロのワークシート変換でやろうかと四苦八苦しています。
範囲のところに、
test!A1:X1
といった感じで指定しています。一回目はうまくいきますが、二度目はデータが残っているためか、失敗してしまいます。
現在考えている対処法は、エクセルファイルの表示画面に閉じるボタンを用意し、それが押されることで、データが記載されているシートの内容を削除し、エクセルを閉じるというようにしようと思っています。
お聞きしたいのは、エクセルVBAで、このような動作が可能かどうか。
また、より簡単で効率の良い方法があれば教えていただければ幸いです。
よろしくお願いしますm(_ _)m
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは。
ちょっと考えてみました。
>現在はマクロのワークシート変換でやろうかと四苦八苦しています。
そのワークシート変換を使ってみました。
私も、これでは、四苦八苦に入りますね。もうちょっときれいな格好に出来ないかとは思っています。不恰好ですが、Excelを呼び出して、インポートさせるよりも、ずっと、この方が簡単なんですよね。
コードの指示を読んで、実際のファイル名やシートを指定してください。
>あらかじめグラフ表示用のエクセルファイルを作成しておいて、アクセスから指定したセルにデータを送り、その直後そのエクセルファイルを開くようにしたいのです。
それは、無理なんですが、以下のコードの場合、私は、グラフ作成マクロの方がよいとは思っているのですが、今は、データだけを送って、グラフを変更させるのは試していません。もし、そうなら、UsedRange.Copyを Range("A1").CurrengRegion.Copy の方が無難かもしれません。貼り付け側は、今度は、Range("A1").SpecialPaste などとしてやります。
とりあえず、テスト用として、掲示しておきます。
Private Sub コマンド1_Click()
On Error GoTo Err_コマンド1_Click
Dim xlApp As Object
Dim Fn As String
Dim xlFn As String
Fn = "c:\$ac2xl.xls" 'テンポラリブック
xlFn = "c:\Test1.xls" '実際のブック
'テーブル名を入れてください。
DoCmd.OutputTo acOutputTable, _
"テーブル名", _
acFormatXLS, _
Fn, _
True, ""
Set xlApp = GetObject(, "Excel.Application")
'xlApp.Visible = True 'これがなくても、ブックは見える
With xlApp
.ScreenUpdating = False '画面のちらつきをなくする
.ActiveWorkbook.Worksheets(1).UsedRange.Copy
.Workbooks.Open xlFn
'実際のワークシート(以下は、インデックスを使っていますが名前でも可)
.ActiveWorkbook.Worksheets(2).Paste
.ActiveWorkbook.Worksheets(2).Activate
.ScreenUpdating = True
'Excel側のマクロを呼び出し例/グラフマクロを作ってください。
.Run .ActiveWorkbook.Name & "!testmacro"
'ブック側の標準モジュールの testmacro を呼び出す
.ActiveWorkbook.Close True
.UserControl = True
Exit_コマンド2_Click:
On Error Resume Next
.DisplayAlerts = False 'クリップボードを無視させる
.Quit
.DisplayAlerts = True
Kill Fn 'テンポラリブックの削除
End With
Set xlApp = Nothing
Exit Sub
Err_コマンド1_Click:
MsgBox Err.Description
Resume Exit_コマンド1_Click
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
ワイルドカード「*」を使うとう...
-
エクセルVBAが途中で止まります
-
vbaで他のブックに転記したい。...
-
別ブックをダイアログボックス...
-
ACCESSでExcelにデータ出力、高...
-
VBS Bookを閉じるコード
-
VBA コードを実行すると画面が...
-
転記先VBA 一致しているセルが...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
エクセルのマクロについて教え...
-
VBA 実行時エラー 2147024893
-
ExcelVBA:すでに開かれている...
-
【Excel VBA】書き込み先ブック...
-
【ExcelVBA】インデックスが有...
-
【ご教示ください】VBAの記述方...
-
ADOで複数のBookから抽出
-
ACCESSVBA からExcelの他ブック...
-
【ExcelVBA】zip圧縮されたCSV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
【ExcelVBA】インデックスが有...
-
ワイルドカード「*」を使うとう...
-
【ExcelVBA】VBA実行でダイアロ...
-
ExcelのVBAです。フォルダ内の...
-
フォルダ内の全てのファイルに...
-
VBA コードを実行すると画面が...
-
VBA 別ブックからコピペしたい...
-
VBAで別ブックのシートを指定し...
-
VBS Bookを閉じるコード
-
vbaでvbaProjectのパスワード解...
-
【VBA】全シートの計算式を全て...
-
VBA シート名が一致した場合の...
-
【ExcelVBA】zip圧縮されたCSV...
-
複数のエクセルブックをひとつ...
-
VBSでExcelのオープン確認
-
VBAで別のブックにシートをコピ...
-
【Excel VBA】書き込み先ブック...
おすすめ情報