gpt4 book ai didi

excel - 打开工作簿时 Worksheet_Activate 不触发

转载 作者:行者123 更新时间:2023-12-02 14:08:28 29 4
gpt4 key购买 nike

两天前,当我打开文档时,我在 Excel 工作表中填充 ActiveX 组合框的代码停止运行。此后我发现,当我打开工作表时,Worksheet_Activate() 不再触发。

现在,即使我在工作表 1 中创建一个仅包含以下代码的简单工作簿,当我打开该工作簿时它也不会触发。

Private Sub Worksheet_Activate()
MsgBox ("Worksheet has been activated")
End Sub

但是,如果我单击另一个选项卡并单击返回包含代码的工作表,它就会触发。

我尝试添加 Application.EnableEvents = True 和 Worksheets("Sheet1").Activate 到 Workbook_Open (它会触发),但仍然没有运气。

我们正在运行 Excel 2010,而我同事的计算机上也出现了同样的问题。有什么想法吗?

最佳答案

我知道这是一个较旧的问题,但无需先激活另一个工作表,然后重新激活您想要的工作表:

Private Sub Workbook_Open()
' Bug in Excel:
' The Worksheet_Activate event does not fire for the sheet that is active
' when the workbook is opened, so call it explicitely. Make sure that
' Worksheet_Activate() is declared as Public.
' Ignore ActiveSheets without (Public) Worksheet_Activate()
On Error Resume Next
Call ActiveSheet.Worksheet_Activate
On Error GoTo 0
End Sub

Worksheets("Sheet1") 中那样按名称引用工作表也不是一个好习惯,除非您有充分的理由这样做。更好的是使用CodeName。详情见this post .

关于excel - 打开工作簿时 Worksheet_Activate 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28332443/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com