Код VBA получает ошибку в тот же момент при копировании более 3-го графика из Excel? - PullRequest
0 голосов
/ 05 июня 2019

У меня есть код VBA, который встроен в электронную таблицу, которой управлял кто-то другой.Код открывает шаблон ppt, копирует диаграммы и копирует первые две диаграммы, но третья всегда выдает ошибку: «Элемент с указанным именем не найден»;Ошибка времени выполнения '-2147024809 (80070057).Ошибка заставляет меня думать, что это может быть опечатка, но все имена совпадают.

Я попытался скопировать имя из электронной таблицы в коде, где он называет диаграммы, которые должны быть скопированы, но этовсе еще не работает.Каждый лист в рабочей книге - это имя диаграммы, поэтому, когда он копирует лист, он ищет имя диаграммы, то есть имя листа.

 const ChartName = 1
 dim ChartSource (numberofcharts, 2) as string

 chartSource(3, ChartName) = "XXX"
 chartSource(3, ChartTitle) = "XXX"

 sheets(chartsource(I,chartname)).select

Так что здесь он идет в совершенстве и ищетназвание листа "XXX" и копирует таблицу.

 myslides.slides(j).select 

j - это предопределенная переменная, которая указывает, где начинать вставку диаграмм в ппт.

 activesheet.chartobject("Chart 1").activate

, именно здесь возникает ошибка.Код после этого просто копирует и вставляет код, поэтому я не думаю, что он уместен.

Он без проблем копирует первые 2 диаграммы, но 3-я диаграмма выдает ошибку.

Может быть, кто-то из вас может ответить на этот вопрос: почему чартобъект говорит «диаграмма 1»?Является ли «график 1» начальным номером графика по умолчанию для каждого слайда ppt.Я не знаком с chartsource, поэтому объяснение того, что означают числа в скобках, где оно определено как строка.

Я использую этот код каждый месяц и ничего не изменил в коде, поэтому он не должен генерировать никаких ошибок.

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