引用:
散布図を作るために下のデータを用意しました。
引用:
得点をy軸に評価点をX軸にし、データラベルとして、〇の横に番号を表示したい
とりあえず、ここでの「〇」というのが
系列の各要素のマーカーであると仮定します。
(標準モジュール)
------------------------------------------------------------------
Dim xlsWorksheet As Excel.Worksheet
Dim xlsShape As Excel.Shape
Dim xlsChart As Excel.Chart
Dim xlsSeries As Excel.Series
Dim xlsDataLabel As Excel.DataLabel
Dim lngRow As Long
'ワークシートの参照
Set xlsWorksheet = Worksheets("Chart")
'グラフ(散布図)の追加
Set xlsShape = xlsWorksheet.Shapes
.AddChart(XlChartType:=xlXYScatter)
'グラフの参照
Set xlsChart = xlsShape.Chart
'新しい系列の追加
Set xlsSeries = xlsChart
.SeriesCollection.NewSeries
With xlsWorksheet
'系列の設定
xlsSeries.Name = "=" & .Cells(1, 2).Address(External:=True)
xlsSeries.XValues = "=" & .Range(.Cells(2, 3), .Cells(11, 3)).Address(External:=True)
xlsSeries.Values = "=" & .Range(.Cells(2, 2), .Cells(11, 2)).Address(External:=True)
xlsSeries.MarkerStyle = xlMarkerStyleCircle
'項目軸の軸ラベルの設定
xlsChart.Axes(xlCategory).HasTitle = True
xlsChart.Axes(xlCategory).AxisTitle.Formula = "=" & .Cells(1, 3).Address(External:=True)
'データラベルの設定
xlsSeries.HasDataLabels = True
lngRow = 2
For Each xlsDataLabel In
xlsSeries.DataLabels
xlsDataLabel.Text = .Cells(lngRow, 1).Text
lngRow = lngRow + 1
Next
End With
With xlsChart
'グラフタイトルの設定
.HasTitle = True
.ChartTitle.Text = "相関図"
With .ChartTitle.Format.TextFrame2.TextRange.Font
.Size = 10
.Fill.ForeColor.ObjectThemeColor = 6
End With
'凡例の設定
.HasLegend = True
.Legend.Position = xlLegendPositionRight
With .Legend.Format.Fill
.Visible = True
.ForeColor.RGB = RGB(217, 217, 217)
End With
End With
Set xlsDataLabel = Nothing
Set xlsSeries = Nothing
Set xlsChart = Nothing
Set xlsShape = Nothing
Set xlsWorksheet = Nothing
------------------------------------------------------------------