Как использовать vba для использования формулы для вставки содержимого ячейки в текстовое поле диаграммы - PullRequest
0 голосов
/ 05 мая 2020

Я использую VBA для создания кластерной гистограммы. Одна из функций, которые мне нужны, - это подписи по оси Y, выровненные по правому краю. К сожалению, это невозможно, и (насколько я понимаю) единственный способ изменить выравнивание - не показывать метки оси Y и вставлять текстовые поля. Мне нужно использовать формулу для заполнения текстового поля ячейкой, содержащей метку оси Y, но я продолжаю получать сообщение об ошибке при попытке сделать это.

Я использовал функцию макроса записи для генерации кода, который я немного очистил, чтобы получить:

'Y axis label corresponding to cell A12 
co.Chart.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 35, 225, 30).Select
co.Chart.Shapes.Range(Array("TextBox 2")).Select
Selection.Formula = "='Figure 1'!R12C1"

Мой макрос не работает в последней строке «Selection.Formula ...» и возвращается сообщение об ошибке: «Невозможно установить свойство Formula класса TextBox». Есть предложения по коду, который мне нужен для работы?

1 Ответ

0 голосов
/ 05 мая 2020

Например:

Dim TB, cht

Set cht = ActiveSheet.ChartObjects(1).Chart

Set TB = cht.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 80, 15)

TB.OLEFormat.Object.Formula = "=A12"

Не думайте, что есть свойство FormulaR1C1, которое вы можете использовать

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