Я написал макрос, который импортирует большой файл данных CSV, систематизирует данные и создает диаграммы. Графики созданы:
- Копировать шаблон диаграммы
- Вставить на другую вкладку
- Переименовать диаграмму
- Добавить ряд данных
- Повторите для каждого столбца данных
Проблема, с которой я столкнулся, заключается в том, что когда я запускаю макрос в обычном режиме, он фактически не копирует диаграмму шаблона. Таким образом, когда он идет на вставку, в буфере обмена ничего нет, что вызывает ошибку. Вот фактический код:
wbGen.Sheets("Dashboard").ChartObjects("Chart 0").Activate
ActiveChart.ChartArea.Copy
wbGen.Sheets("Charts").Activate
ActiveSheet.Cells(iRotor * 16 - 31, iChartA * 7 - 6).Select
ActiveSheet.Paste 'Debug mode points to this line
ActiveSheet.ChartObjects("Chart 0").Activate
ActiveSheet.Shapes("Chart 0").Name = "Chart " & iChart
Вот в чем загвоздка: если я нажму Debug
, верну курсор к первой строке выше и нажму «Продолжить», то код будет выполняться безупречно. Я не могу понять, почему он работает в режиме отладки, но не нормально. Я ценю любую помощь, которую вы можете оказать.
Кстати, мои попытки избавиться от заявлений Activate
и Select
не увенчались успехом. Любая помощь, которую я могу получить в этой области, также будет оценена.
iRotor
иiChartA
, когда код не работает? - person SierraOscar   schedule 26.01.2016iRotor = 2
иiChartA = 1
. Это вызывает выделение ячейки (1,1) и вставку диаграммы. На следующей итерацииiRotor = 2
иiChartA = 2
, поэтому следующая диаграмма вставляется в ячейку (1, 8). - person Kes Perron   schedule 26.01.2016