【EXCEL】表とグラフの連動、グラフのラベル設定
EXCEL初心者です。関数やマクロ等全く分かりません…。
使用しているバージョンは2010です。
・EXCELのSheet1に表( 添付したもの )、Sheet2に表の内容を元に散布図を作成したいです。
・具体的には、
表の「情報1」=グラフのy軸、
表の「情報2」=グラフのx軸、
表の「番号」=xとyの交点
としたいです。
例えば、4行目のデータは以下のようにさせたいです。
x=300、 y=100、 300と100の交わった所に1と入れたいです。
これを5行目、6行目…と行いたいです。
・また、表の内容を変えると、自動的にグラフにも変更内容が反映されるようにしたいです。
一応、自分で調べて行ったところ、グラフのラベル設定を↓こちらのサイトで
http://www4.synapse.ne.jp/yone/excel2010/excel2010_graph_sanpu.html
行ってみたのですが、VBAにそのままサンプルコードを貼り付けたところ、
ラベルが、今回設定したい「番号」ではなく「名前」になってしまいます・・・。
ちなみに、貼り付けたサンプルコードは↓こちらです。
Sub AttachLabelsToPoints()
'Dimension variables.
Dim Counter As Integer, ChartName As String, xVals As String
' Disable screen updating while the subroutine is run.
Application.ScreenUpdating = False
'Store the formula for the first series in "xVals".
xVals = ActiveChart.SeriesCollection(1).Formula
'Extract the range for the data from xVals.
xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
Do While Left(xVals, 1) = ","
xVals = Mid(xVals, 2)
Loop
'Attach a label to each data point in the chart.
For Counter = 1 To Range(xVals).Cells.Count
ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
True
ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
Next Counter
End Sub
これを貼り付けると、ラベルが「番号」ではなく「名前」になってしまいました。
上記サイトに
「 また、以下のようなコードでもラベルを付けることができました。 グラフをアクティブにして
VBA(マクロ)を実行します。 」
とあったのですが、当方マクロやEXCELはど素人で、
「 グラフをアクティブ?? 」状態で全くわかりませんでした…。
また、表の内容を書き換えたときに、グラフに自動的に反映されません…。
どうすれば求めているグラフのラベル設定ができ、また表の内容の書き換えたときグラフが連動
するようになってくれるのでしょうか・・・??
お礼
ありがとうございました。 このような式は、マクロの入門書などにもなかなか載っていないので、非常に助かりました。 ありがとうございました。