0

我正在尝试更新名为 Dashboard 的工作簿工作表上各种数据透视图上数据标签的字体。

我需要将图表数据标签设置为 Arial 大小 12,图例字体设置为 Arial 大小 10.5。

我收到

运行时错误“91”:
对象变量或未设置块变量

在此处输入图像描述

这是我想出的代码。

Sub DASHfontsize()
' DASHfontsize Macro
' change the font on labels to arial 12 and the legend to arial 10.5
ActiveChart.ChartArea.Select
With Selection.Format.TextFrame2.TextRange.Font
    .NameComplexScript = "Arial"
    .NameFarEast = "Arial"
    .Name = "Arial"
End With
Selection.Format.TextFrame2.TextRange.Font.Size = 12

ActiveChart.Legend.Select
With Selection.Format.TextFrame2.TextRange.Font
    .NameComplexScript = "Arial"
    .NameFarEast = "Arial"
    .Name = "Arial"
End With
Selection.Format.TextFrame2.TextRange.Font.Size = 10.5
End Sub
4

1 回答 1

0

如果你在你的宏中找到这个词ActiveSelection你就有这样的风险。有点猜测 - 您已经录制了一个宏,并在开始录制之前选择了图表。
解决此问题的方法是重写代码以使其更安全。

Dim TargetChart As Chart
Set TargetChart = Worksheets("Sheet1").ChartObjects(1).Chart
With TargetChart.ChartArea.Format.TextFrame2.TextRange.Font
    .NameComplexScript = "Arial"
    .NameFarEast = "Arial"
    .Name = "Arial"
End With

TargetChart 变量指向 Sheet1 上的第一个图表。根据需要进行调整。

于 2019-10-31T20:55:25.260 回答