Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7778 / 76734 ←次へ | 前へ→

【74541】グラフのFormulaをマクロで正しく取得できない
質問  mamumo  - 13/7/20(土) 11:09 -

引用なし
パスワード
   標記の件について、教えてください。
二つの散布図グラフがあって、一つのグラフをもう一つのグラフに貼り付けてマクロでFormulaを取得しようとすると正しく取得できず困っています。
いろいろ調べたのですが原因がわかりません。
すでに存在する大量のグラフは下記手法で作成済みで、作り直さずに正しく取得する方法はないでしょうか?
対応策をご存知の方、何か情報をお持ちの方がいらっしゃいましたらお教えいただければ幸いです。
よろしくお願いいたします。

使用環境
Windows7 Pro 64bit
Excel 2003


【発生状況】
シート名:Sheet1
  (A)(B)(C)
(1) 0 5 1
(2) 1 3 4
(3) 2 4 2
(4) 3 2 5

1. 上記のデータがシート状にあって、A1:B4を選択してで散布図1.を作成(x軸:A y軸:B)。

2. 作成した散布図をコピー(Ctrlキーを押しながらドラッグ)して散布図2.を作成。y軸をCに変更(B列に表示される枠をC列に移動)。

3. 再度散布図1.をコピーして散布図3.を作成。

4. 散布図2.を選択し、コピー(Ctrl+c)して、散布図3.にペースト(Ctrl+V)。二つのデータが表示される。

5. 下記のマクロを実行すると、以下の結果が得られます。

=SERIES(,Sheet1!$A$1:$A$4,Sheet1!$B$1:$B$4,1) (散布図1.のFormula)

=SERIES(,Sheet1!$A$1:$A$4,Sheet1!$C$1:$C$4,1) (散布図2.のFormula)

=SERIES(,Sheet1!$A$1:$A$4,Sheet1!$B$1:$B$4,1) (散布図3.系列1のFormula)
=SERIES(,Sheet1!$A$1:$A$4,Sheet1!$B$1:$B$4,1) (散布図3.系列2のFormula)
//////C列を参照しているのにB列参照となる//////

6.散布図3.で右クリックして”元のデータ”を確認すると、系列2は正しくC列を参照している。


【使用マクロ】
Sub test()

  Dim msg As String
  Dim i As Long
  Dim j As Long
  
  For i = 1 To ActiveSheet.ChartObjects.Count
    With ActiveSheet.ChartObjects(i).Chart
      For j = 1 To .SeriesCollection.Count
        msg = msg & .SeriesCollection(j).Formula & vbCrLf
      Next j
    End With
    msg = msg & vbCrLf
  Next i
  
  MsgBox msg

End Sub

5 hits

【74541】グラフのFormulaをマクロで正しく取得できない mamumo 13/7/20(土) 11:09 質問
【74542】Re:グラフのFormulaをマクロで正しく取得で... kanabun 13/7/20(土) 18:09 発言
【74543】Re:グラフのFormulaをマクロで正しく取得で... マナ 13/7/20(土) 21:50 発言
【74544】Re:グラフのFormulaをマクロで正しく取得で... mamumo 13/7/21(日) 10:19 質問
【74545】Re:グラフのFormulaをマクロで正しく取得で... マナ 13/7/21(日) 11:30 発言
【74546】Re:グラフのFormulaをマクロで正しく取得で... マナ 13/7/21(日) 11:54 発言
【74547】Re:グラフのFormulaをマクロで正しく取得で... mamumo 13/7/21(日) 15:22 お礼

7778 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free