Excelの散布図にラベルを追加するマクロはMicrosoftサポートオンラインの下記記事を参考に。
http://support.microsoft.com/kb/161513/ja
http://support.microsoft.com/kb/213750/ja
これより下のは、散布図にラベルをつけるマクロなのだが、系列をピンポイントで指定してその系列だけにラベルをつけるマクロです。
仕様がちょいと変ですが、後日掲載するであろう散布図を含めた複合グラフをつくるために必要となるのでそういうことで。
-------------
アドインを作る
-------------
1. Excelを新規ブックで起動する。
2. Alt+F11を押す(Visual Basic Editorが起動する)。
3. プロジェクトエクスプローラで"VBAProject(Book1)"を選択する。
4. [挿入]メニュから"標準モジュール"を選択する。
5. "VBAProject(Book1)"の下に「標準モジュール」というフォルダが作成され、
その下にModule1というものができる。
Module1が選択されていることを確認し、下のコードを丸ごと右側の白いところに貼り付ける。
'--- 貼り付けるコード(そのままコピペでOK) バグってたらごめん、自分で直して。
Sub Auto_Add()
Dim cmdbr As CommandBar
Dim cmdbrctrl As CommandBarButton
Set cmdbr = CommandBars.Add(Name:="グラフ用のマクロ") 'ツールバーの名前、なんでもOK
'(ボタンを増やす場合はコピーして使う)
'1つ目のボタンの作成(散布図にラベルをつける)
Set cmdbrctrl = cmdbr.Controls.Add(Type:=msoControlButton)
With cmdbrctrl
.Caption = "散布図を付ける" ' マウスポインタを当てた時に表示されるやつ、なんでもOK
.FaceId = 430 ' 自分で好きなのを指定してOK
.OnAction = "AttachLblPlural" ' ツールバーのボタンを押した時に実行するやつ
End With
'ツールバーの表示
With Application.CommandBars("グラフ用のマクロ")
.Visible = True
.Position = msoBarTop
End With
End Sub
Sub AttachLblPlural()
' 散布図にラベルを付ける
Dim NoSeries As Integer, Counter As Long, xVals As String
Application.ScreenUpdating = False
NoSeries = InputBox("散布図の対象系列番号を入力してください。", "系列入力")
i = CInt(NoSeries)
If i = "" Then Exit Sub ' InputBoxの値が空だったら処理中止
If i > 100 Then Exit Sub ' InputBoxの値が100を超えてたら処理中止
' On Error Resume Next
' グラフの数式をxValsに入れる
xVals = ActiveChart.SeriesCollection(i).Formula
' グラフの数式からセル範囲を抜き出す
xVals = Mid(xVals, InStr(xVals, "!") + 1, Len(xVals))
xVals = Left(xVals, InStr(xVals, ",") - 1)
' X軸の左にある列をラベルとしてつける
For Counter = 1 To Range(xVals).Cells.Count
ActiveChart.SeriesCollection(i).Points(Counter).HasDataLabel = True
ActiveChart.SeriesCollection(i).Points(Counter).DataLabel.Text = Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
Next Counter
End Sub
'--- ここまで
※FaceId(ツールバーのアイコン)はFaceIdでぐぐって。いろいろ出てくるから。
6. Visual Basic Editorを閉じ、Book1に戻る。
7. [ファイル]メニュから"名前を付けて保存"を選択する。
8. ファイルの種類をリストの一番下の"Microsoft Office Excel アドイン(*.xla)"にする。
9. 適当なファイル名を付ける。(ここではAttachLbl.xlaとします)
10. ファイルを保存する場所を指定する(標準ではExcelのAddInsフォルダになっていると思います)
11. Excelを閉じる。
-----------------
アドインを読み込む
-----------------
12. Excelを起動する。
13. [ツール]メニュから"アドイン"を選択する。
14. [参照]ボタンを押して、先ほど作成したアドインを選択する。
※ここで選択した後はxlaファイルの場所は移動しないように!
15. Atachlblというのがチェック付きで一覧に表示されるのでOKボタンで閉じる。
16. [ツール]メニュのユーザー設定を選択する。
17. [ツールバー]タブを開く。
リストを下の方にスクロールさせると"グラフ用のマクロ"というのがある。
チェックが入っているのを確認したら[閉じる]ボタンで閉じる。
18. Excelの左上のほうにツールバーが作成される。(左上じゃないかも。。。)
------
使い方
------
散布図を作る。
・系列名はリンクではなく直接文字を入力←これ必須
・付けられるラベルはX軸で指定した列の左隣にある列のもの
散布図グラフを選択した状態で先ほど作成したツールバーのボタンを押す。
系列入力のインプットボックスが表示されるので、グラフの中でラベルを付けたい系列が何個目なのか、その数字を入れる。ここでは1を入れる。
すると上の図のようにラベルが付く。
簡易的かつ後日紹介するグラフのために不思議な仕様になってますのでとりあえず我慢しといて。我慢できなければ自分で直して。
-----■ 参考 ■-----