如何使用VBA更改Excel图表中的数据标签宽度?

时间:2017-07-10 09:32:01

标签: excel vba excel-vba

我想通过VBA代码更改Excel图表中的标签宽度:

set lbl = SERIES1. points(1).datalabel
msgbox lbl.width 'this is working

lbl.width = 40 ' compile error: wrong number of arguments or invalid property assignment

我可以获得标签宽度但不能更改它。我究竟做错了什么?

2 个答案:

答案 0 :(得分:2)

AFAIK,图表数据点标签的宽度不可配置。即使可以使用VBA检索宽度,也无法使用VBA命令或属性设置或更改它。

根据文档,DataLabels.Width属性是只读的。

Returns the width, in points, of the object. Read-only. Source

Excel图表标签仍然顽固地不合作,并且无论是使用VBA还是使用UI,都会阻止格式化尝试。

那是(不幸的)Excel的工作原理。

不要射击信使。

如果您想要有所作为,请考虑在excel.uservoice.com

提出一个想法

答案 1 :(得分:0)

这在Excel 2016中有效,您只需要调整系列集合和点号即可满足您的需求。 ActiveChart.FullSeriesCollection(1).Points(1).DataLabel.Width = 363.314