如何更改图表中的所有字体?

时间:2014-03-15 10:10:21

标签: excel vba excel-vba charts shapes

我正在尝试更改整个图表中的字体。使用Shapes集合录制的宏&gt; <形状对象> TextFrame2(包含指定形状的文本格式)&gt; TextRange&gt;字体。

With ActiveSheet.Shapes("Chart 1502").TextFrame2.TextRange.Font
  .NameComplexScript = "Arial"
  .NameFarEast = "Arial"
  .Name = "Arial"
End With

我在文档中检查了它,这似乎是好方法,但是当我尝试运行这个录制的macto时,它会抛出: 运行时错误:' - 2147024809(80070057)': 输入的值超出范围(我的翻译 - 我有本地化版本)。

此行有错误(特别是 TextFrame2

With ActiveSheet.Shapes("Chart 1502").TextFrame2.TextRange.Font

由于

set x = ActiveSheet.Shapes("Chart 1502")' is OK

但是

set x = ActiveSheet.Shapes("Chart 1502").TextFrame2 'throws Run-Time Error

1 个答案:

答案 0 :(得分:1)

试试这个:

Sub test()
    Dim x As Shape
    Set x = ActiveSheet.Shapes("Chart 1502")

    With x.Chart.ChartArea.Format.TextFrame2.TextRange.Font
        .NameComplexScript = "Arial"
        .NameFarEast = "Arial"
        .Name = "Arial"
    End With
End Sub

我还建议将ActiveSheet.Shapes("Chart 1502")更改为以下内容:Worksheets("Sheet1").Shapes("Chart 1502")