2017-10-05 32 views
0

所以我在工作中设置了这个电子表格 - 我最终不得不做很多繁琐的Excel任务,尽管我几乎不知道任何VBA - 而且我想要一个表格在工作表编辑后自动过滤自己。问题是被过滤的列满了公式,这些公式会响应用户编辑而发生变化,并且在列完成计算之前应用过滤器,从而产生不稳定的结果。所以我真正想要的是在计算工作表之后应用AutoFilter,而不是在编辑之后。在工作表计算完成后使用宏应用自动筛选器?

我一直在使用的宏:

Private Sub Worksheet_Change(ByVal Target As Range) 
    With ActiveWorkbook.Worksheets("Library").ListObjects("Library") 
     .AutoFilter.ApplyFilter 
    End With 
End Sub 

天真改变激活事件Worksheet_Calculate()不工作 - 这似乎是重复一遍又一遍的应用过滤器。

我相信这是一个相对简单的,我只是不知道我需要做什么。你们可以建议吗?

(PS第一次在这里发帖 - 希望我所做的一切都是正确的!)

回答

0

没关系,已经解决了它自己。对于有问题的任何人,我只是将计算设置为手动,然后将我的代码替换为:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Calculate 
    ActiveWorkbook.Worksheets("Library").ListObjects("Library").AutoFilter.ApplyFilter 
End Sub