select工作表时发生什么事件?
我正在努力完成的事情相当简单。 当用户select一个工作表时,我想要一个消息框出现。 含义:我正在查看Sheet1,点击Sheet2选项卡,popup消息,然后我可以做任何事情。 我似乎无法find移动到其他工作表时触发的事件。
我试过的事件: Workbook_SheetActivate
和Worksheet_Activate
Private Sub Workbook_SheetActivate(ByVal sh As Object) MsgBox ("Example Message") End Sub
要么
Private Sub Worksheet_Activate() MsgBox ("Example Message") End Sub
我做了一些Googlesearch,大多数情况是关于单元格值改变或单元格select更改的时候。
这应该工作:
Private Sub Worksheet_Activate() MsgBox "you never visit...you never call....you never write" End Sub
然而:
- 代码必须在工作表代码区域中
- macros必须启用
- 事件必须启用
您可以在“ThisWorkbook”模块中使用以下内容在工作簿中更改工作表时触发邮件。
Sub Workbook_SheetActivate(ByVal Sh As Object) MsgBox Sh.Name & " activated!" End Sub
这将解决问题,而不必将Private Sub Worksheet_Activate()
添加到每个工作表的代码模块。
以下是Excel中可用的所有工作表事件的链接:
http://dmcritchie.mvps.org/excel/event.htm
Private Sub Worksheet_Activate() Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) -- (additional examples) Cancel = True 'turn off Edit mode when using “Edit directly in a cell” Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Cancel = True 'turn off Edit mode when using “Edit directly in a cell” Private Sub Worksheet_Calculate() Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False 'should be part of Change macro Application.EnableEvents = True 'should be part of Change macro Private Sub Worksheet_Deactivate() Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Private Sub Worksheet_SelectionChange(ByVal Target As Range)
不Worksheet_Activate
为您工作?
您需要在工作表中激活事件 – 也就是说,如果您将其放在工作表2中,则只有在打开工作表时才会触发。 这工作在我的工作簿的工作表2。 Sub worksheet_activate()MsgBox“activated!” 结束小组