我想通过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
我可以获得标签宽度但不能更改它。我究竟做错了什么?
答案 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
。