Создание заголовка оси в диаграмме Excel с VBA - PullRequest
0 голосов
/ 04 октября 2018

Я создаю таблицу Excel с VBA, а затем форматирую названия осей и размер шрифтов.Следующий код хорошо работает для горизонтальной оси

cht.SetElement msoElementPrimaryCategoryAxisTitleAdjacentToAxis
cht.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Factor of Safety"
cht.Axes(xlCategory, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Size = 15

Однако аналогичный код для вертикальной оси

cht.SetElement msoElementPrimaryValueAxisTitleAdjacentToAxis
cht.Axes(xlValue, xlPrimary).AxisTitle.Text = "Depth [mCD]"
cht.Axes(xlValue, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Size = 15

приводит к ошибке 424 «Требуется объект».Не могли бы вы рассказать мне, что случилось?

1 Ответ

0 голосов
/ 10 октября 2018

В последних версиях Excel вы можете использовать SetElement с именованной константой для добавления функций в диаграмму.Это кажется проще, но оно менее интуитивно понятно с точки зрения того, что на самом деле делает, и может быть ненадежным.

Поэтому вместо этого:

cht.SetElement msoElementPrimaryValueAxisTitleAdjacentToAxis
cht.Axes(xlValue, xlPrimary).AxisTitle.Text = "Depth [mCD]"
cht.Axes(xlValue, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Size = 15

сделайте это:

cht.Axes(xlValue, xlPrimary).HasTitle = True
cht.Axes(xlValue, xlPrimary).AxisTitle.Text = "Depth [mCD]"
cht.Axes(xlValue, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Size = 15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...