получить доступ к идентификатору формы диаграммы - Excel VBA - PullRequest
1 голос
/ 18 апреля 2011

Сначала немного фона.

  1. Excel позволяет дублировать имена для фигур .Таким образом, вы можете иметь как ChartObject, так и овальную форму на одном листе с одинаковым именем.Вы также можете иметь две диаграммы под названием «Диаграмма 2»Если вы попытаетесь сослаться на фигуру с повторяющимся именем, например,

    ActiveSheet.Shapes ("Dupe"). Выберите,

    excel, похоже, прибегнет к возврату объектас наименьшим идентификатором (и повторяющимся именем).

  2. Не существует способа (насколько мне известно) связать ActiveChart с соответствующей ему содержащейся формой.

Iхочу создать функцию типа

, функцию GetAChartsShape (c как диаграмму) в виде Shape ,

, но я не знаю как.Непосредственным использованием для этого будет форматирование выбранной диаграммы (поскольку нет способа глобально изменить шрифт диаграммы).Конечно, это также может иметь другое применение.

1 Ответ

1 голос
/ 22 апреля 2011

Имя фигуры, содержащей встроенную диаграмму (фигура также является chartobject):

activechart.parent.name

или если c объявлен диаграммой:

c.parent.name

Но, конечно, вы знаете, что вам не нужно выбирать объект для работы с ним, поэтому просто делайте то, что вам нужно сделать на

c.parent

, что позволяет избежать проблемы повторяющихся имен.

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