我在Excel中有一个表格,如下所示:
sprint1 sprint2 sprint3
data1 5 6 7
data2 3 7 1
data3 1 7 9
我有此代码:
Public Sub CreateChart(name As String, rng As Range)
Dim cht As Object
Set cht = ActiveSheet.Shapes.AddChart2
cht.chart.SetSourceData Source:=rng
cht.chart.ChartType = xlXYScatterLines
cht.chart.HasTitle = True
cht.chart.ChartTitle.Text = name
End Sub
我得到了一张图表,该图表在图例中正确标记了系列(data1,data2,data3),并按预期的那样在y轴上标记了数字。但是,x轴标记为0-10,它没有将数据的标题行(sprint1,sprint2,sprint3)用作x轴标签。为此,我需要调用什么VBA魔术?
我认为是这样的:
cht.chart.Axes(xlCategory, xlPrimary).CategoryNames = some_range
但它似乎无能为力。
答案 0 :(得分:1)
我认为问题的根源在于图表类型不支持此功能。我更改了以下代码行:
cht.chart.ChartType = xlXYScatterLines
对此:
cht.chart.ChartType = xlLineMarkers
现在可以使用了,x轴标签是冲刺名称。