我在excel中为我的工作建立了一个仪表板,用于过去4个月。根据我的估计,工作簿组织得很好,还有数据库表,#34;引擎盖下#34;计算表和顶部,用户可见数据展览表。此外,我有5个VBA模块执行几个不同的任务,主要涉及控制用户在屏幕上看到的内容。在某些情况下,有复杂的宏链将正确的数字,自动图像和图表放在正确的位置。
事情是:每当其中一个链条关闭时,即使我在执行它们时屏幕更新,我的autoforms和图表也会快速闪烁进出屏幕。这是一个非常快速的轻弹,但它发生在我的工作簿上,包含我的所有内容。对于不断变化的内容,它可以正常运行,但它会出现在我使用的所有表单中的一些带衬里的表单上,并带有用于导航的超链接。
示例:
请注意,这种情况会非常快速地发生,有时会在代码运行完毕之前重复几次,有点像癫痫发作。问题并不影响功能,但视觉上令人不安,而我的老板宁愿不拥有它。我已经搜索了互联网,但没有找到任何有用的东西,所以任何帮助都会受到赞赏。
我在Windows XP上使用Office 2010。
答案 0 :(得分:0)
我现在使用自适应代码段来切换或取消屏幕ScreenUpdating和计算,它是这样的:
Public Sub LudicrousMode(ByVal Toggle As Boolean)
Dim LockStatus As Boolean
LockStatus = Sheets("Aux").Range("B1").Value
If Toggle = LockStatus Then GoTo SKIP
Application.ScreenUpdating = Not Toggle
Application.EnableEvents = Not Toggle
Application.DisplayAlerts = Not Toggle
Application.Calculation = IIf(Toggle, xlCalculationManual, xlCalculationAutomatic)
Sheets("Aux").Range("B1").Value = Toggle`
SKIP:
End Sub
它能够阻止大多数潜艇的“癫痫发作”,除了那些隐藏和取消隐藏行和列的潜艇。有什么想法?