eir*_*ude 5 excel charts vba excel-2016
我有一堆图表,其中图表标题不适合标题框中的一行。
我不想进一步减小字体大小,而是更愿意使文本框更宽一些。
将图表标题的当前宽度打印到即时窗口,我发现它当前的宽度约为 245 像素。看到这一点,我决定使用以下代码来尝试调整工作表中给定名称的所有图表的大小:
Dim ws As Worksheet
Dim co As ChartObject
For Each ws In ThisWorkbook.Worksheets
For Each co In ws.ChartObjects
If co.Name = "Tiltaksplan" Then
co.Chart.ChartTitle.Width = 260
End If
Next co
Next ws
Run Code Online (Sandbox Code Playgroud)
然而,它似乎.ChartTitle.Width是一个只读属性,因此当我尝试更改它时,宏会停止并出现该行错误。
还有其他方法可以调整标题框的大小,还是我只能手动操作?
扩展 SJR 的上述评论,以下内容对您有用吗?
Dim ws As Worksheet
Dim co As ChartObject
For Each ws In ThisWorkbook.Worksheets
For Each co In ws.ChartObjects
If co.Name = "Tiltaksplan" Then
co.Chart.ChartTitle.Text = " "
co.Shapes.AddLabel(msoTextOrientationHorizontal, 180, _
12, 72, 260).Select
Selection.ShapeRange.IncrementLeft -130
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = _
"This is your new title"
End If
Next co
Next ws
Run Code Online (Sandbox Code Playgroud)
这是从录制的宏中拼凑而成的,因此您可能需要调整文本框位置单数。