【发布时间】:2018-11-21 00:00:46
【问题描述】:
晚上好,
我被困了几个小时,试图解决我在使用 VBA 格式化图表时遇到的问题。
所以我根据更新图表记录了以下宏以反映我想要的格式。问题是当我再次运行此宏时,我得到“对象'Datalabels'的方法'选择'失败”
Sub UpdateChartFormat()
ActiveSheet.ChartObjects("Chart 4").Activate
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.ShowPercentage = True
Selection.Separator = "" & Chr(10) & ""
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.ShowPercentage = True
Selection.ShowValue = False
ActiveSheet.Range("D32").Select
End Sub
我真的很感激这方面的一些帮助,我无法在其他地方找到修复程序。
我认为这也可能与系列集合有关,因为图表是动态的,并且系列名称会根据用户选择而变化。
理想情况下,如果可能的话,我希望在不激活图表的情况下将其作为另一个更大宏的一部分运行。
提前致谢!
编辑:
所以现在运行代码没有任何错误,但实际上并没有更新格式 XD
Sub UpdateChartFormat()
With ActiveWorkbook.Sheets("MHFA Summary").ChartObjects("Chart 4").Activate
With ActiveChart.SeriesCollection(1).DataLabels _
.ShowPercentage = True
With ActiveChart.SeriesCollection(1).DataLabels _
.Separator = "" & Chr(10) & ""
End With
End With
End With
With ActiveWorkbook.Sheets("MHFA Summary").ChartObjects("Chart 1").Activate
With ActiveChart.SeriesCollection(1).DataLabels _
.ShowPercentage = True
With ActiveChart.SeriesCollection(1).DataLabels _
.Separator = "" & Chr(10) & ""
End With
End With
End With
结束子
【问题讨论】:
-
尽量不要使用 select 而使用 with 语句。
With Activesheet.ChartObjects("Chart 4"). SeriesColection(1).Datalabels
标签: excel vba charts formatting