调整包含图表标题的文本框的大小

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是一个只读属性,因此当我尝试更改它时,宏会停止并出现该行错误。

还有其他方法可以调整标题框的大小,还是我只能手动操作?

Smr*_*ica 3

扩展 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)

这是从录制的宏中拼凑而成的,因此您可能需要调整文本框位置单数。