将图表的轴更改为百分比

我有一张表,我正在生成图表。 我正在生成集群列图表。我想将图表的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 

尝试此cht.Axes(xlSecondary).TickLabels.NumberFormat = "0.0%"而不是cht.SeriesCollection(1).DataLabels.NumberFormat = "0.0%"

另外,如果你愿意的话,你可以在with语句中删除cht 。 这是多余的,但不应该导致代码的问题。

我得到了一个不同的线上的错误,所以修改如下:

 .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%" 

现在它工作;)