在从外部源加载数据时,如何阻止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.