アプリ版:「スタンプのみでお礼する」機能のリリースについて

任意のセルが、グラフに使用されているか否かが知りたいです。

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

よろしくお願いします。

A 回答 (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

'--------------------------------------------
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/02 22:16

こんにちは。

Wendy02です。

もう少し確認させてください。

ご質問を読んだ時点で、だいたいの方針は固まって既にある程度までVBAで作っていました。ただ、予想したとおり、別のシートのグラフということなので、それを、どう表示していくか、という具体的な詰めの段階で、チュウチョしています。最初は、そのグラフに飛ぶということも考えていましたが、それも問題があるのかなって思います。

#1さんのおっしゃるようなカラーリファレンスは、元より別シートですから無理ですが、そのあたりをどうイメージされていますか?可能なら、なるべくイメージに近づけたいと思います。

例えば、アクティブセルから、ボタンやショートカットで、単に、グラフの使用の「ある・なし」の表示するとか?グラフ名(グラフ番号)をメッセージボックスで出すとか?
    • good
    • 0

こんばんは。



>そのセルがグラフに使われているかを探せますか?
たぶん、VBAなら出来ます。

機能的には備わっていないので、それをVBAで行うことになるかと思います。ブック全体の中のグラフから、あるセルが含まれるか含まれないかを、それぞれのグラフの系列の中を全部探すというようなプログラムになるのではないかと思います。

単独のグラフなら、そのようなご質問をするはずがないので、複数のグラフの中で、一体、どれがどれか分らなくなったものを、簡単に見つけ出せる方法はないか、というご主旨ではないかと思いました。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/01 00:17

普通のグラフならばグラフエリアをクリックすると参照しているセル範囲がカラーリファレンスで囲まれます。


複雑なグラフではカラーリファレンスは表示されません。
グラフエリアを右クリックして、元のデータの系列タブで各系列の参照範囲を確認することはできます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/01 00:14

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