個々のデータにはさほど意味がない場合はあまり気にしないが、人や拠点名などのラベルをつけたい場合の方法をメモします
◆Excel2010まで
- グラフを作成したあと、「グラフツール」→「デザイン」→「場所」→「グラフの移動」→「新しいシート」でグラフを移動する。
- 以下のコードを「開発」→「Visual Basic」→「挿入」→「標準モジュール」の先に貼り付ける
- マクロ「AttachLabelsToPoints」を実行
◆Excel2013以降
- データラベルを表示する機能がもともと備わっているのでその機能を利用する。
—–以下、コードです—–
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