2015-02-18 3 views
2

Цель состоит в том, чтобы обновить все диаграммы в Excel после пересчета ячеек.Обновить все диаграммы без мигания

Я работаю с Microsoft Excel 2010.

Как мы знаем, есть ошибка? в Excel, так что Excel не обновляет графики даже после того, как

Application.CalculateFullRebuild 

Известной хаки сделать что-то вроде этого:

Application.ScreenUpdating = False 
Temp = ActiveCell.ColumnWidth 
ActiveCell.Columns.AutoFit 
ActiveCell.ColumnWidth = Temp 
Application.ScreenUpdating = True 

Это делает работу. Тем не менее, все графики Excel мигают (они становятся белыми на мгновение при обновлении). Могли бы вы посоветовать, пожалуйста, есть ли способ избежать такого моргания?

Я пытался позвонить

.Refresh 

на всех картах (https://msdn.microsoft.com/en-us/library/office/ff198180(v=office.14).aspx):

For Each ChartObject In ActiveSheet.ChartObjects 
    ChartObject.Refresh 
Next 

, но по какой-то причине мой Excel (2010) показывает ошибку # 438 «Объект не поддерживает это свойство или метод ».

Не могли бы вы посоветовать, пожалуйста, пропустить что-то важное?

ответ

4

Непроверено Но .refresh может работать с этим:

Sub ChangeCharts() 
Application.ScreenUpdating = False 'This line disable the on screen update for better performance, the blink you see, you could delete both lanes but it will run slower 
Dim myChart As ChartObject 
For Each myChart In ActiveSheet.ChartObjects 
    myChart.Chart.Refresh 
Next myChart 
Application.ScreenUpdating = True'This line reenable the on screen update for better performance, the blink you see, you could delete both lanes but it will run slower 
End Sub 

И это потому, что (как ссылку вы предоставляете шоу) .refresh работает только с объектом Chart и не с объектом ChartObjects, как вы пытались применить его. Надеюсь, это поможет вам в правильном направлении. (также добавлены кавычки для мигания/мерцания на экране в коде)

+0

Большое спасибо за ваш ответ! Теперь я понимаю, как использовать .Refresh. К сожалению, это совсем не обновляет графики ... :) Это обновляет графики, http://stackoverflow.com/questions/4902703/excel-chart-wont-update, но, к сожалению, он мигает ... :) –

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