Доступ к идентификатору формы диаграммы – excel vba

Вопрос:

Сначала рассмотрим некоторые предпосылки.

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

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

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

  • Невозможно (что я знаю) связать ActiveChart с соответствующей его формой.

Я хочу создать такую ​​функцию, как

Функция GetAChartsShape (c как диаграмма) как Форма,

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

Лучший ответ:

Название формы, содержащей встроенную диаграмму (форма также является графическим объектом):

activechart.parent.name

или если c объявлен график:

c.parent.name

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

c.parent

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

Оцените статью
TechArks.Ru
Добавить комментарий