我正在尝试更改整个图表中的字体。使用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
答案 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")
。