我怀疑答案是明确的,因为它是一个循环论证
但是...
我将软件包中的报告直接导出到现有的Excel工作簿中。该软件包在Excel中创建一个新工作表并填充工作表。默认情况下,新工作表称为Sheet1。它是一个大型报表,在Excel工作簿中有一个Workbook_SheetChange事件。导出报告的每个单元格都在Excel中单独更新,因此每个单元格都会运行SheetChange事件。这样可以将导入时间增加10倍。
我可以在SheetChange事件中添加以下内容
如果Sh.name =" Sheet1"然后退出sub
这可以很好地加快导入过程,但当然没有任何事件会再次发生,因为我已经禁用了它们。因此,工作簿宏无法使用。
我希望能够在取消激活Sheet1工作表时添加application.enableEvents = true,但当然这不会触发,因为事件已被禁用。
我可以添加一个必须按下的按钮,该按钮将通过模块子触发重新启用,但是期望用户必须这样做并不是特别直观。此外还有其他事件可能需要在用户按下之前触发,以便错过它们。
因此,我的愚蠢问题是 - 是否有其他方法可以重新启用事件?
我想,我可以在每个工作表中都有一个Worksheet_Change事件,而不是全局的Workbook_SheetChange事件,但在我这样做之前我想过。
感谢
答案 0 :(得分:0)
一种方法是让进口商控制事件 只需要导入子: