更改工作表时自动关闭excel userform

时间:2014-10-08 13:13:32

标签: vba excel-vba userform excel

我有一个userform,当从数据透视表明细创建新工作表时会自动显示。我试图弄清楚如果用户导航到工作簿中的任何其他工作表,如何自动关闭此用户窗体。

1 个答案:

答案 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