牛、豚、鶏、どれか一つ食べられなくなるとしたら?

シートに1つ埋め込みグラフがあり、そのグラフの
データ元の範囲とタイトルの参照Rangを知る方法が
分かりません。方法があれば教えてください。

A 回答 (1件)

こんにちは。


グラフのデータ元範囲やタイトルの参照アドレスを直接取得するようなプロパティは無いようです。
したがって、SeriesオブジェクトのFormulaプロパティでデータ系列の参照数式を取得して、文字列操作でデータ範囲を求めるしかないように思います。
タイトルについても同様なので、ChartTitle.Characters.Textを範囲から検索するような形になると思います。

参考までに、アクティブシートの1番目のグラフのデータ元アドレスとタイトルのあるアドレスをメッセージボックスに表示するサンプルです。

Sub Sample()
Dim sourceData As String
Dim n As Integer
Dim myRange As Range
With ActiveSheet.ChartObjects(1).Chart
For n = 1 To .SeriesCollection.Count
sourceData = .SeriesCollection(n).Formula
sourceData = Replace(Replace(sourceData, "," & n & ")", ""), "=SERIES(", "")
If myRange Is Nothing Then Set myRange = Range(sourceData)
Set myRange = Application.Union(myRange, Range(sourceData))
Next
MsgBox "データ範囲アドレス:" & myRange.Address & vbLf & "タイトル参照アドレス:" _
& myRange.CurrentRegion.Find(what:=.ChartTitle.Characters.Text).Address
End With
Set myRange = Nothing
End Sub

グラフタイトルはデータ元範囲のアクティブセル領域に存在している前提でのコードですので、もしそうでない場合はmyRange.CurrentRegionを実状に合わせて変えてください。
    • good
    • 0
この回答へのお礼

やはり、直接参照するコマンドはないですよね。
文字列操作とReplaceがとても参考になりました。
上記のアプローチで私の行い動作ができました!
直ぐにアドバイスして頂きありがとうございました。

お礼日時:2006/06/13 19:09

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