在从外部源加载数据时,如何阻止Excel快速刷新/闪烁?


6

我有一个Excel电子表格,在同一工作表上有几个图表。每个图表的数据来自不同的表格。每个表的数据都从Access数据库中提取,并且每个表的连接都设置为在打开工作簿时刷新,打开工作簿时,所有图表将快速闪烁(在可见和不可见之间)几次。有没有办法在数据更新时防止这种闪烁?

Answers:


4
Public Sub StroboscopeOff()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    ActiveSheet.DisplayPageBreaks = False
    Application.DisplayStatusBar = False
    Application.DisplayAlerts = False
End Sub

Public Sub StroboscopeOn()
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    ActiveSheet.DisplayPageBreaks = True
    Application.DisplayStatusBar = True
    Application.DisplayAlerts = True
End Sub

使用:

StroboscopeOff()

.. Update Data    

StroboscopeOn()

我忘了提及,这是一个有效的解决方案,即使只是改变 Application.ScreenUpdating 够了。我觉得我的答案是取消选中 Enable background refresh 是一个更好的答案,因为它不需要启用宏的工作簿,或VBA的知识。
— Drew Chapin

2

取消选中/关闭 Enable background refresh 在所有工作簿连接上。


这似乎已经为我解决了这个问题。该 Refresh data when opening the file 选项仍然有效,但现在打开工作簿时屏幕根本不闪烁。我转过身来 Enable background refresh 选项重新打开其中一个连接并再次启动闪烁。关闭该连接,工作簿不再闪烁。因此,闪烁似乎与之相关 Enable background refresh 选项。
— Drew Chapin

问题:没有 Application.ScreenUpdating = False 帮你?我很好奇
— nixda

我没有尝试过 Application.ScreenUpdating = False。我想出来了 Enable background refresh @STTR之前的选项发布了一个解决方案,并且很满意。我打算在某些时候尝试找出答案。
— Drew Chapin

@nixda,我忘了回复评论 Application.ScreenUpdating 是一个有效的解决方案我觉得我的答案是取消选中 Enable background refresh 是一个更好的答案,因为它不需要启用宏的工作簿,或VBA的知识
— Drew Chapin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.