У меня есть код 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, поэтому объяснение того, что означают числа в скобках, где оно определено как строка.
Я использую этот код каждый месяц и ничего не изменил в коде, поэтому он не должен генерировать никаких ошибок.