
AccessのデータをExcelに書き込み、そのデータを元に散布図を作成するプログラムを作成しています。
Excelグラフは、予め作成してあり、Accessから書き込んだデータの数に応じて、グラフの値範囲を指定したいと思います。
With XLWB
'吸着データ数セット
.Sheets(GraphSheetName).Select
.ActiveChart.ChartArea.Select 'チャートのセレクト
.ActiveChart.FullSeriesCollection(SampleNM).Select '名前がSampleNMの系列を選択
TempDomainFormula = Selection.Formula '現在の値範囲の取得
End With
上記で取得した指定グラフ系列の値範囲の内、行数部分をReplace関数で置き換えて、再設定することで、値範囲の変更は出来ています。
しかし、作業終了後、objApp.Quit としてエクセルを終了しても、タスクマネジャーにExcelが残り、続けて、作業を繰り返すと、値範囲の取得に失敗してしまいます。
Excelは、下記のとおり、CreateObject関数で開いています。
Dim objApp As Excel.Application
Set objApp = CreateObject("Excel.Application") '変数にExcelオブジェクトを格納
GetObject関数でExcelを開くと、行いたい操作自体が動かなくなります。
Accessを一旦閉じれば、このExcelもなくなり、再び操作を行うことが可能となります。
系列のデータ範囲指定を行わなければ、問題なくExcelを閉じることが出来ます。
グラフデータ指定方法として不適当な操作を行っているのか、詳しい方にご教示頂ければと存じます。
No.2ベストアンサー
- 回答日時:
> TempDomainFormula = Selection.Formula '現在の値範囲の取得
原因は Excel の下位オブジェクトを直に指定しているところ。
Excel の Chartオブジェクトは 殆ど使ったことがないので
何を指定すればいいか分かりませbが
objApp.Selection
でいかがでしょう。
あるいは
TempDomainFormula = .ActiveChart.FullSeriesCollection(SampleNM).Formula
とかではどうでしょうか?
参考
http://rucio.a.la9.jp/main/technique/teq_15.htm
2-4.暗黙の参照をしている場合
でしょう。
ご教示有難う御座いました。
Application指定を追加することで解決しました。
SelectionをobjApp.Selectionと明示的に指定していなかった為、意図せず新規Excelが立ち上がり、エラーとなっていたということでしょうか。
大変勉強になりました。
有難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
AccessのクエリをSQL文に変換するには
Access(アクセス)
-
【マクロ】変数に入れるコードを少しでも短くする為には?
Excel(エクセル)
-
データの文字コードを確認するには
その他(Microsoft Office)
-
-
4
エクセルで同じブックを開くについて
Excel(エクセル)
-
5
excelで日付関数の文字列変換の前にスペースを入れる方法をお教え下さい。
Excel(エクセル)
-
6
【マクロ】宣言は、何のためにするんですか???しなくても、普通に動いしまうのはなぜ?
Excel(エクセル)
-
7
【マクロ】WEBシステムから保存ではなく、開いたExcelデータを変数に入れる事が出来る?
Excel(エクセル)
-
8
改行文字「vbCrLf」とは
Visual Basic(VBA)
-
9
エクセルに、105と入力すると、勝手に100で除算して1.05になってしまうのは何故でしょうか? ち
Excel(エクセル)
-
10
「テキストデータで送ってください」と指示があった場合
Access(アクセス)
-
11
履歴書をパソコンで描きたいのですがエクセルを開くと「更新してください(有料ページ)」と出てきてしまっ
Excel(エクセル)
-
12
プログラミングに興味があるのですが、作りたいものはありません。 ゲーム機とかパソコンの中身(ソースコ
その他(プログラミング・Web制作)
-
13
ユーザーマクロ作成
Excel(エクセル)
-
14
桁をセルで区切って計算をした場合、合計がしっかりと繰り上げされた形式で表示される方法
Excel(エクセル)
-
15
システムファイルについて
Excel(エクセル)
-
16
Accessデータベースの主キーについて
Access(アクセス)
-
17
【マクロ】参照渡しとモジュールレベル変数 どっちが よく使うものですか?
Excel(エクセル)
-
18
Excelでの文字入力について
Excel(エクセル)
-
19
【マクロ】Call関数で呼び出した場合、共通の変数宣言は、省略できますか?
Excel(エクセル)
-
20
ACCESSにExcelの改行のあるデータ(数式)を適切に取り込む方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS VBA でのエラー解決の根...
-
Access Error3061 パラメータが...
-
Microsoft365にAccessってあり...
-
access2021 強制終了してしまう
-
access2021 VBA メソッドまたは...
-
Accessでフォームに自動入力し...
-
Access VBA [リモートサーバー...
-
Accessデータベースを開くと同...
-
「テキストデータで送ってくだ...
-
Accessフォームにマクロを組み...
-
列が255以上のCSVファイルをAcc...
-
アクセス ステップインのやり方
-
Accessのクエリで、replace関数...
-
access vbaでフォームを開くと...
-
access2021 メッセージボックス...
-
Accessのクエリの結果を、既存...
-
Accessのスプレッドシートエク...
-
Accessのルックアップ
-
Accessのデータ型の日付/時刻型...
-
Accessで独自メニューバーまた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
「テキストデータで送ってくだ...
-
access vbaでフォームを開くと...
-
ACCESS VBA でのエラー解決の根...
-
Accessのクエリで、replace関数...
-
access2021 強制終了してしまう
-
Access Error3061 パラメータが...
-
access2021 VBA メソッドまたは...
-
Accessのクエリの結果を、既存...
-
Accessでレポートを印刷する時...
-
Microsoft365にAccessってあり...
-
列が255以上のCSVファイルをAcc...
-
Access の SetFocus について教...
-
Access 複数条件検索の設定が上...
-
accessでlaccdbファイルが削除...
-
Accessでフォームに自動入力し...
-
Access VBA [リモートサーバー...
-
Excelを開く時と閉じる時に一度...
-
access2019の起動が遅い
-
Accessのリンクテーブルのパス...
おすすめ情報