我有一个userform,当从数据透视表明细创建新工作表时会自动显示。我试图弄清楚如果用户导航到工作簿中的任何其他工作表,如何自动关闭此用户窗体。
答案 0 :(得分:1)
您可以使用SheetActivate
对象的Workbook
事件来检查处于活动状态的工作表的名称,并相应地采取相应措施。例如:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Sheet1" And UserForm1.Visible Then
Unload UserForm1
End If
End Sub
此活动位于Excel工作簿的ThisWorkbook
模块中。我相信您的UserForm需要是无模式的,以便用户能够在表单可见时更改工作表。
您可以在此处阅读Workbook.SheetActivate Event。