将数据透视图上的字体设置为 Arial

Set font on pivot charts to Arial

我正在尝试更新我名为“仪表板”的工作簿 sheet 中各种数据透视图上数据标签的字体。

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

我收到

Run-time error '91':
Object variable or With block variable not set

这是我想出的代码。

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

如果您在宏中找到单词 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 上的第一个图表。根据需要进行调整。