2016-09-30 42 views
0

我有一个列A-AI和近3000行的文档,并且每个单元格使用从不同的工作表中抽取的公式使用它们自己的公式或数据透视表。Excel 2013:有没有办法延迟处理过滤器,直到多列设置了其标准?

目前,在一列上应用过滤器需要大约30秒的时间来处理。所以为了找到我需要的数据,我需要连续过滤3-5列,最终每次需要查看新数据时浪费2分钟。

有没有一种方法可以为每列设置过滤标准,然后然后处理过滤器,以节省宝贵的时间?

回答

0

尝试高级过滤器。这使您可以根据需要添加尽可能多的条件,并只在命令上进行处理。缺点是,它不会更新或无法过滤,直到你也告诉它。

Link to MS help page for Adv Filter

0

你没有提到的可行的解决办法,但使用VBA你可以只添加过滤器和添加的所有过滤器后应用自动筛选。示例代码:

Sub Apply_AutoFilter() 
    Dim afFilters 
    Dim afCol1 
    Dim afCol3 

    ' Turn on AutoFilter. 
    Spreadsheet1.Worksheets("Sheet1").Range("A1:C20").AutoFilter 

    ' Set a variable to the AutoFilter object. 
    Set afFilters = Spreadsheet1.Worksheets("sheet1").AutoFilter 

    Set afCol1 = afFilters.Filters(1) 
    Set afCol3 = afFilters.Filters(3) 

    ' Add a criteria that excludes blue from column A. 
    afCol1.Criteria.Add "blue" 

    ' Add a criteria that excludes green from column A. 
    afCol1.Criteria.Add "green" 

    ' Add a criteria that excludes yellow from column c. 
    afCol3.Criteria.Add "yellow" 

    ' At this point, the FilterMode property is False 
    ' because the AutoFilter criteria has not been applied. 
    MsgBox Spreadsheet1.Worksheets("Sheet1").FilterMode 

    ' Apply the criteria. 
    afFilters.Apply 

    ' The FilterMode property is now True since you 
    ' have hidden several rows in the list. 
    MsgBox Spreadsheet1.Worksheets("Sheet1").FilterMode 
End Sub 

https://msdn.microsoft.com/en-us/library/office/aa168763(v=office.11).aspx

两者
相关问题