使用 VBA 更改图表字体
Change chart font using VBA
如何使用 VBA 更改 Excel 图表的字体?
如果我手动 select 图表,并在手动更改字体名称和大小的同时录制宏,我会得到下面的宏。但是当我立即重播宏时,它会抛出一个 run-time 错误: "The specified value is out of range." 所以看起来宏记录器有一个错误。这意味着我无法自己找出更改字体的代码。
Sub Macro6()
'
' Macro6 Macro
'
'
With ActiveSheet.Shapes("Chart 1").TextFrame2.TextRange.Font
.NameComplexScript = "Verdana"
.NameFarEast = "Verdana"
.Name = "Verdana"
End With
ActiveSheet.Shapes("Chart 1").TextFrame2.TextRange.Font.Size = 14
End Sub
我知道,作为替代方案,我可以一次更改每个单独元素的字体(标题、轴标题、轴...),但这很乏味,并且有可能忘记某些元素(系列点标签、趋势线方程、...)。
我想更改图表的 "default" 字体,以便其所有元素都具有该字体。
这也被记录下来并且对我有用(选择图表时):
Sub Macro1()
Selection.Format.TextFrame2.TextRange.Font.Size = 14
With Selection.Format.TextFrame2.TextRange.Font
.NameComplexScript = "Verdana"
.NameFarEast = "Verdana"
.Name = "Verdana"
End With
End Sub
与您的错误代码差别不大。
确实是一个奇怪的错误...做了同样的事情,但我使用 objective 进入 Object Browser (F2) 来解决 Chart
而不是 Shape
.
经过一番尝试,我成功地使用了这个:
With ActiveSheet.ChartObjects("Graph").Chart.ChartArea.Format.TextFrame2.TextRange.Font
.Name = "Verdana"
.Size = 14
End With
非常简单,我尝试了更多奇怪的东西(因为TextRange2
class中有一个.Count
属性 )
它工作正常,确实改变了整个图表的字体,
您只需要知道图表的名称。
或者,确保选中图表,并使用 ActiveChart
而不是 ActiveSheet.ChartObjects("Graph").Chart
。
最简单的方法是:
ActiveChart.ChartArea.Font.Name = "Verdana"
如何使用 VBA 更改 Excel 图表的字体?
如果我手动 select 图表,并在手动更改字体名称和大小的同时录制宏,我会得到下面的宏。但是当我立即重播宏时,它会抛出一个 run-time 错误: "The specified value is out of range." 所以看起来宏记录器有一个错误。这意味着我无法自己找出更改字体的代码。
Sub Macro6()
'
' Macro6 Macro
'
'
With ActiveSheet.Shapes("Chart 1").TextFrame2.TextRange.Font
.NameComplexScript = "Verdana"
.NameFarEast = "Verdana"
.Name = "Verdana"
End With
ActiveSheet.Shapes("Chart 1").TextFrame2.TextRange.Font.Size = 14
End Sub
我知道,作为替代方案,我可以一次更改每个单独元素的字体(标题、轴标题、轴...),但这很乏味,并且有可能忘记某些元素(系列点标签、趋势线方程、...)。
我想更改图表的 "default" 字体,以便其所有元素都具有该字体。
这也被记录下来并且对我有用(选择图表时):
Sub Macro1()
Selection.Format.TextFrame2.TextRange.Font.Size = 14
With Selection.Format.TextFrame2.TextRange.Font
.NameComplexScript = "Verdana"
.NameFarEast = "Verdana"
.Name = "Verdana"
End With
End Sub
与您的错误代码差别不大。
确实是一个奇怪的错误...做了同样的事情,但我使用 objective 进入 Object Browser (F2) 来解决 Chart
而不是 Shape
.
经过一番尝试,我成功地使用了这个:
With ActiveSheet.ChartObjects("Graph").Chart.ChartArea.Format.TextFrame2.TextRange.Font
.Name = "Verdana"
.Size = 14
End With
非常简单,我尝试了更多奇怪的东西(因为TextRange2
class中有一个.Count
属性 )
它工作正常,确实改变了整个图表的字体,
您只需要知道图表的名称。
或者,确保选中图表,并使用 ActiveChart
而不是 ActiveSheet.ChartObjects("Graph").Chart
。
最简单的方法是:
ActiveChart.ChartArea.Font.Name = "Verdana"