Макрос Excel для установки шрифта на сводных диаграммах в Arial - PullRequest
0 голосов
/ 31 октября 2019

Здравствуйте. Я пытаюсь создать макрос, который будет автоматически обновлять шрифт меток данных на моих различных сводных диаграммах на листе моей книги под названием «Панель инструментов». Мне нужно иметь возможность установить метки данных диаграммы на шрифт Arial size 12, а затем отформатировать легенду так, чтобы шрифт был Arial size 10.5. Я получаю сообщение об ошибке 91

(переменная объекта или переменная блока не установлены). Ошибка 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

Любая помощь в исправлении будет принята с благодарностью.

Заранее спасибо.

1 Ответ

0 голосов
/ 31 октября 2019

Если вы найдете в своих макросах слово Active или Selection, у вас есть риск именно этого. Немного предположений - вы записали макрос и выбрали диаграмму до начала записи.
Способ обойти это - переписать код, чтобы сделать его немного более безопасным.

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. Отрегулируйте по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...