こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel グラフのプロットからデータを見つける

こんにちは、おそらくとても基本的な作業なのですが、分からずに困っております。エクセルで、あるデータから散布図を作ったとします。するとプロットがグラフとして現れますが、このプロットがどのセルのデータに該当するかを見つけるにはどうしたらよいでしょうか。プロットをクリックしても、その座標の値しか現れず、どのセルに対応するのかをみつけることができません。ご存知の方宜しくお願いします。 Excel 2007を使用しております。

投稿日時 - 2009-10-13 07:33:23

QNo.5363318

すぐに回答ほしいです

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

例データ(A、B列が元データ)
A列  B列   C列
1600160 <--第2行目から始めること
2300230
3600360
・・・
C列の式は =TRIM(TEXT(A2,"000")&TEXT(B2*10,"00"))
A列やB列はその桁数によってTextの書式000などを適当な桁数にしていしてください。データに小数点があれば、整数になるよう10の整数乗をかけて整数化してください。
ーー
A,B列で
散布図のグラフを描き、データラベルをありにする。
コードはSheet1のSelectionChangeを使う。
Sheet1のタブ部を右クリックし出てきた「コードの表示」をクリック。それで出てきたVBEに下記をコピペする。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mr = "" Then GoTo p1
MsgBox mr
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SeriesCollection(1).Points(mr).DataLabel.Select
Selection.Interior.ColorIndex = xlNone
'--
p1:
'x = Trim(Format(Range("e1"), "000") & Format(Range("f1") * 10, "00"))
x = Cells(Target.Row, 3)
MsgBox x
'---

Range("c2:c30").Find(What:=x, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

r = ActiveCell.Row
MsgBox "行" & r
'---
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SeriesCollection(1).Points(r - 1).DataLabel.Select
Selection.Interior.ColorIndex = 5
mr = r - 1
ext:
Application.EnableEvents = True
End Sub
ーーーーーー
グラフ上で、見つけたい、当該のデータ行をクリック。
するとその行のデータのラベル部分が色がつく。
他の行をクリックするとまえのものの色h消え、今回選択したその行のデータのラベル部分が色がつく
===
苦労したが、もしエラーが起こると、質問者でコードを修正してもらえないだろうから、エラーが出たら、上記回答は捨ててください。
Msgbox のコード行は抹消してもらってもよい。

投稿日時 - 2009-10-13 23:06:32

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

特異な作業だと思います。
目的はなんですか?
セル番地を知ってどうするのですか?

とりあえず、該当セルを選択するマクロを組んでみました。
プロットされたマーカーをひとつだけ選択しておいてマクロを実行してください。
マーカーを2回クリックすればひとつだけ選択できます。

Sub Test1()
Dim myPoint As Point
Dim myFormula As String
Dim myPDLname As String
Dim myWsName As String
Dim x As String
Dim y As String
Dim n As Integer

If TypeName(Selection) <> "Point" Then Exit Sub
If TypeName(Selection) = "Point" Then
Set myPoint = Selection
myFormula = myPoint.Parent.Formula
With myPoint
.HasDataLabel = True
myPDLname = myPoint.DataLabel.Name
.HasDataLabel = False
End With
n = Split(myPDLname, "P")(1)
x = Split(myFormula, ",")(1)
y = Split(myFormula, ",")(2)
myWsName = Split(x, "!")(0)
End If
MsgBox myWsName & "!" & Range(x)(n).Address & ":" & Range(y)(n).Address
Sheets(myWsName).Select
Sheets(myWsName).Range(Range(x)(n), Range(y)(n)).Select
End Sub

投稿日時 - 2009-10-13 10:53:26

ANo.2

座標の値がわかるのなら、その値を探せば良いのでは。
軸に使用している行(列)を選択してCtrl+Fで検索。

投稿日時 - 2009-10-13 07:55:51

ANo.1

どのセルに対応しているかが直ちにわかるようにはできないでしょう。
プロットの点で右クリックして「データラベルの追加」を選択することで数値が表示されますね。
その数値をもとにセルを探すことになるでしょう。
そのためには「ホーム」タブの「検索と選択」をクリックして「検索」を選択し「検索する文字列」にグラフで表示された数値を入力して「すべて検索」を選択すればそのデータのセルが選ばれるでしょう。

投稿日時 - 2009-10-13 07:48:59

あなたにオススメの質問