2013-04-03 3 views
1

Я успешно создаю сводную таблицу с использованием VBA, а затем я пытаюсь обновить диаграмму, используя данные таблицы Pivot, которую я создал (все еще в VBA).VBA - Обновить сводную диаграмму закрывает Excel

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

Пожалуйста, найдите ниже функции я использую, чтобы обновить таблицу, я только с помощью свойства SetDataSource:

Function GeneratePivotChart(wbSource As String, wbDestination As String, chartName As String, pivotName As String) 
    With Sheets(wbDestination).ChartObjects(chartName).Chart 
     .SetSourceData Source:=Sheets(wbSource).PivotTables(pivotName).TableRange1 
    End With 
End Function 

Чтобы вызвать обновление, я использую событие PivotTableUpdate в лист, содержащий стержень Таблица.

Любая идея, почему Excel будет закрыт при обновлении данных диаграмм? Должен ли я вместо этого удалить диаграмму и создать новую?

Спасибо за помощь;)

+0

Есть ли листы ('wbSource' и' wbDestination') в одной книге? Также измените 'Function' на' Sub', поскольку вы ничего не возвращаете ... –

+0

Да, эти листы находятся в одной книге. Спасибо, я тоже сменил его на sub. – IxilRythorn

+0

Хорошо, я просто протестировал его, и код не разбился. Могу я увидеть вашу книгу? –

ответ

0

Try ThisWorkbook.RefreshAll вместо PivotTableUpdate события.

+0

Спасибо за ваш ответ. Тем не менее, это все еще шумит. – IxilRythorn

Смежные вопросы