Events 当工作表打开时要触发的OnOpenExcelWorksheet事件?

Events 当工作表打开时要触发的OnOpenExcelWorksheet事件?,events,vba,Events,Vba,工作表打开时如何运行代码?(我要运行的代码包含在打开的工作表中)我不确定如何在工作表打开时运行代码,但您可以在工作簿打开时运行它 在VBA编辑器中,打开名为“ThisWorkbook”的Microsoft Excel对象。在编辑器窗口顶部,您将看到两个下拉框:(常规)和(声明)。将(常规)组合框更改为“工作簿” 这将为您提供名为工作簿\u Open()的方法。打开Excel工作簿时,将执行放置在此方法中的代码 此外,当您选择工作簿时,您可以在(声明)部分随时使用更多事件,例如SheetActi

工作表打开时如何运行代码?(我要运行的代码包含在打开的工作表中)

我不确定如何在工作表打开时运行代码,但您可以在工作簿打开时运行它

在VBA编辑器中,打开名为“ThisWorkbook”的Microsoft Excel对象。在编辑器窗口顶部,您将看到两个下拉框:(常规)和(声明)。将(常规)组合框更改为“工作簿”

这将为您提供名为
工作簿\u Open()
的方法。打开Excel工作簿时,将执行放置在此方法中的代码



此外,当您选择工作簿时,您可以在(声明)部分随时使用更多事件,例如
SheetActivate
SheetChanged
,等等。我没有使用过这些方法,但如果您需要与单个工作表相关的事件,而不仅仅是整个工作簿相关的事件,则可以尝试使用这些方法。

您可以将某些代码放入工作表激活()函数中,该函数将在选择工作表时运行。此外,当您离开工作表并转到另一个工作表时,请使用工作表_Deactivate()运行代码。这些函数包含在工作表对象代码中

Private Sub Worksheet_Activate()
    MsgBox ("Hi")
End Sub

Private Sub Worksheet_Deactivate()
    MsgBox ("Bye")
End Sub

我发现,在仅使用工作表代码(不使用工作簿代码)打开时自动运行的一种方法是使用公式=Now()触发的Calculate事件


如果允许将工作表复制到新工作簿,并且VBA代码也在其中运行,则这可能与此相关。

您是指工作簿吗?--因为在Excel中,您可以“打开”工作簿对任性的谷歌搜索者的一些指导:公认的答案适用于在工作表(工作簿中的选项卡)之间切换如果您想知道如何在打开工作簿时运行宏,请参见下面的答案。您好,当我这样做时,Excel for MacOS下从“常规”更改为“工作簿”时,我会收到一个错误通知,表示不支持宏。有什么建议吗?