我有一张工作表,我正在生成图表。我正在生成Clustered Column Chart。我想将图表的y轴更改为百分比。 我尝试了以下代码,它给了我一个错误
对象不支持此属性或方法。
有人能告诉我,我怎么能改变轴。
任何领导都会有所帮助
Sub chartResult()
Dim rng As Range
Dim cht As Object
Set rng = ActiveSheet.Range("B2:H53")
'ThisWorkbook.Sheets("Result").ChartObjects.Delete
Set sh = ActiveSheet.Shapes.AddChart
sh.Select
Set cht = ActiveChart
With cht
.SetSourceData Source:=rng
.ChartType = xlColumnClustered
cht.SeriesCollection(1).DataLabels = True
cht.SeriesCollection(1).DataLabels.NumberFormat = "0.0%"
End With
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(72, 118, 255) '<~~ Red
cht.SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
cht.SeriesCollection(3).Format.Fill.ForeColor.RGB = RGB(0, 255, 0)
cht.HasTitle = True
cht.ChartTitle.Text = "Result 2017"
End Sub
答案 0 :(得分:2)
试试这个cht.Axes(xlSecondary).TickLabels.NumberFormat = "0.0%"
代替cht.SeriesCollection(1).DataLabels.NumberFormat = "0.0%"
此外,如果需要,您可以删除cht
语句中的with
。这是多余的,但不应该导致代码问题。
答案 1 :(得分:1)
我在另一条线上得到了错误,因此修改如下:
.ChartType = xlColumnClustered
cht.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel, LegendKey:=False, AutoText:=True, HasLeaderLines:=False, ShowSeriesName:=False, ShowCategoryName:=False, ShowValue:=True, ShowPercentage:=True
cht.SeriesCollection(1).DataLabels.NumberFormat = "0.0%"
它现在有效;)