• ベストアンサー

《エクセル2000》そのセルがグラフに使われているかを探せますか?

任意のセルが、グラフに使用されているか否かが知りたいです。 グラフをクリックすると使用しているセルがわかる場合がありますが、「ワークシート分析」の「参照先」のように、セルから逆にたどる方法はあるでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。Wendy02です。 ご確認を待たずに、こちらで決めて作ってしまいました。 以下の   Const SHEET_NAME As String = "Sheet2" この部分を決めてください。複数のシートを検索することも考えましたが、負担が大きすぎるような気がしました。 まず、データ(数値)を選択して、マクロを起動させますと、検索し、メッセージボックスに、グラフ名(英語)と系列名が出てきます。マクロは、ボタンやショートカットにすると便利です。ヒットしない場合は、何も出てきません。 '-------------------------------------------- Sub TestGraph()   Dim objChrts As ChartObjects   Dim chrtSC As Object   Dim objChrt As ChartObject   Dim buf As String   Dim mySh As String   Dim myRng As String  'シート名を入れてください。   Const SHEET_NAME As String = "Sheet2"   If VarType(ActiveCell.Value) <> vbDouble Then Exit Sub   Set objChrts = Worksheets(SHEET_NAME).ChartObjects   If IsObject(objChrts) = False Then Exit Sub   For Each objChrt In objChrts    For Each chrtSC In objChrt.Chart.SeriesCollection      buf = Replace(chrtSC.FormulaLocal, "=SERIES(", "")      buf = Mid$(Left$(buf, InStrRev(buf, ",") - 1), 3)      mySh = Left$(buf, InStr(buf, "!") - 1)      myRng = Mid$(buf, InStr(buf, "!") + 1)      If Not Intersect(ActiveCell, Worksheets(mySh).Range(myRng)) Is Nothing Then              MsgBox "グラフ名 :" & objChrt.Name & " 系列名 : " & chrtSC.Name      End If    Next    Set objChrt = Nothing   Next End Sub '--------------------------------------------

bari_saku
質問者

お礼

こんばんは、Wendy02さん。 昨日書き込みを拝見して、ハタと考え込んでしまいました。 グラフからセルをたどる場合はセルの色を変えるなり何なりすればいいですが、セルからグラフをたどる場合は一体どうすれば??? どうしたいかのイメージがわかずに本日ログインしてみれば、何と既にVBAが… いつもいつもお世話になっていて、ポイントどころか謝礼をお支払いしたいくらいなのですが、それができないのが何とも歯がゆいです。 本当にありがとうございました。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。Wendy02です。 もう少し確認させてください。 ご質問を読んだ時点で、だいたいの方針は固まって既にある程度までVBAで作っていました。ただ、予想したとおり、別のシートのグラフということなので、それを、どう表示していくか、という具体的な詰めの段階で、チュウチョしています。最初は、そのグラフに飛ぶということも考えていましたが、それも問題があるのかなって思います。 #1さんのおっしゃるようなカラーリファレンスは、元より別シートですから無理ですが、そのあたりをどうイメージされていますか?可能なら、なるべくイメージに近づけたいと思います。 例えば、アクティブセルから、ボタンやショートカットで、単に、グラフの使用の「ある・なし」の表示するとか?グラフ名(グラフ番号)をメッセージボックスで出すとか?

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >そのセルがグラフに使われているかを探せますか? たぶん、VBAなら出来ます。 機能的には備わっていないので、それをVBAで行うことになるかと思います。ブック全体の中のグラフから、あるセルが含まれるか含まれないかを、それぞれのグラフの系列の中を全部探すというようなプログラムになるのではないかと思います。 単独のグラフなら、そのようなご質問をするはずがないので、複数のグラフの中で、一体、どれがどれか分らなくなったものを、簡単に見つけ出せる方法はないか、というご主旨ではないかと思いました。

bari_saku
質問者

お礼

こんばんは、ご推察の通りです。 他人が作ったファイルの修正で、該当ファイルは数千行にわたって数字が入っていて、別シートのグラフも2~3百はあると思います。 この大量のグラフを一々クリックしてチェックするのも大変な作業でして、今回質問させていただいた次第です。 もう少し、ご回答を待ってみます。ありがとうございました。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.1

普通のグラフならばグラフエリアをクリックすると参照しているセル範囲がカラーリファレンスで囲まれます。 複雑なグラフではカラーリファレンスは表示されません。 グラフエリアを右クリックして、元のデータの系列タブで各系列の参照範囲を確認することはできます。

bari_saku
質問者

お礼

ご回答ありがとうございます。 はい、普通の方法はこちらだと思うのですが、今回は全く反対に、セルからどのグラフに使われているかを知りたいのです。

関連するQ&A