【问题标题】:Excel worksheet events won't fire on colleague's computerExcel 工作表事件不会在同事的计算机上触发
【发布时间】:2020-09-08 06:00:06
【问题描述】:

我有一个启用宏的工作簿,在我的机器上运行良好,但是当我的同事尝试使用它时,工作表事件不会触发。

我已经尽可能多地进行了搜索,但我仍然感到困惑。

以下条件 [都是以前 SO 帖子中的原因/解决方案] 为真:

  • 事件命名正确(我没有更改名称)并且位于正确的位置(工作表代码)(如前所述,在我的机器上一切正常,所以这些必须是真的)
  • Application.EnableEvents = True(我在同事的机器上测试时在即时窗口中测试了这个)
  • 安全设置:我同事的机器上都选择了“启用所有宏”和“信任对 VBA 项目对象模型的访问”

我已将MsgBox 作为每个事件处理程序的第一行。这些没有出现,这就是我知道事件没有触发的方式。

如果我从“即时”窗口启动MsgBox,它确实会出现。

编辑:我们已尝试重新启动 Excel 并重新启动整个计算机。这些都没有帮助。

这是每个处理程序的代码,包括 MsgBox 测试行:

Private Sub Worksheet_Activate()
    MsgBox "worksheet activate"
    Me.Protect Password:=WORKSHEET_PASSWORD, UserInterfaceOnly:=True
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    MsgBox "worksheet change"
    Application.ScreenUpdating = False
    FermDataWorksheetChange Target
    Application.ScreenUpdating = True
End Sub

我真的希望有人可以帮助我,因为这是我同事的业务关键型应用程序。

谢谢!

【问题讨论】:

  • 您是否尝试过新工作簿中的代码?
  • 或者重新启动计算机 我的办公产品挂断了,没有可见的进程在运行。
  • 嗨@SJR,你的意思是我在新工作簿中尝试过类似的事件处理程序吗?我没有,但如果尝试提供有用的信息,我可以。
  • 尝试在另一台计算机上以安全模式运行 Excel(启动 Excel 时按住 Ctrl),然后再次尝试您的工作簿。有用吗?
  • @Warcupine 我要编辑我的原始帖子——是的,我们已经重新启动 Excel 和整个计算机,但无济于事。

标签: excel vba events


【解决方案1】:

此问题的解决方案可能是让 Office 和 Windows 获得最新的更新和补丁。这是我们测试的最后一件事——但是,用户的计算机太旧了,无法安装所有更新。所以他们买了一台新电脑——工作簿在上面运行良好。

不是一个完美的答案,但至少问题不存在了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多