【问题标题】:Application.ScreenUpdating = true does not update screenApplication.ScreenUpdating = true 不更新屏幕
【发布时间】:2022-07-12 11:16:46
【问题描述】:

我有一个 Excelsheet,我可以在其中进行一些数据加载。在此期间,我使用以下方式打开屏幕更新:

Application.ScreenUpdating = False

在我打开它之后:

Application.ScreenUpdating = True

但问题是,屏幕仍然被冻结。这只发生在某些客户机器上,而且是最近几天突然发生的。

当我删除两个 ScreenUpdating-Lines 时,一切正常。

有人知道这种现象并知道解决办法吗?

【问题讨论】:

  • 我刚开始遇到这个完全相同的问题,很奇怪,这个基本的东西已经工作了这么久,现在却出现了一个大问题。
  • @CFRBill 你能解释一下到目前为止你尝试了什么吗?

标签: excel vba


【解决方案1】:

BennoDual,

我尝试的是重新启动计算机。到目前为止,修复它注释掉所有“Application.ScreenUpdating = False”语句。

我很高兴这不是“只有我自己”,而且由于这是一个已知问题,我的解决方案是等待,并每天测试修复。

这是我在确定问题后的测试。

新建Excel工作簿后,选中C3单元格,执行如下代码,然后查看Sheet1。

双击 A1 并输入“aaa”。 结果:A1 显示为空。名称框显示单元格 A1 已选中。公式栏显示“aaa”。仍然概述的 C3。

向下滚动很长一段路,然后双击似乎是 A1 并输入“bbb”。 结果:单元格显示为空。名称框显示 A137。公式栏显示“bbb”。

然后我可以使用在 A1 和 A137 之间跳转的 Ctrl+UpArrow 和 Ctrl+DownArrow。两者仍然显示为空,但公式栏证明并非如此。

要有效模拟“Application.ScreenUpdating = True”,需要关闭所有当前打开的 Excel 工作簿。不仅仅是执行“= False”的那个。

Sub Testing()
   Dim booValue As Boolean

   booValue = Application.ScreenUpdating
   Debug.Print booValue    'Result is True

   Application.ScreenUpdating = False
   booValue = Application.ScreenUpdating
   Debug.Print booValue    'Result is False

   Application.ScreenUpdating = True
   booValue = Application.ScreenUpdating
   Debug.Print booValue    'Result is True
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多