Excel过滤器在应用了另一个过滤器后为前n个值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel过滤器在应用了另一个过滤器后为前n个值相关的知识,希望对你有一定的参考价值。
我一直在努力理解为什么excel会以这种方式行事,但似乎找不到简单的解释:为什么在应用了另一个过滤器之后,我不能对前n个项目进行过滤?我正在尝试使用以下公式通过VBA进行此操作,但它仅过滤单个值。手动过滤也会产生相同的结果:
.AutoFilter Field:=10, Criteria1:=">=" & Date - 3
.AutoFilter Field:=35, Criteria1:="10", Operator:=xlTop10Items
为什么Excel会以这种方式表现,解决方案是什么?
答案
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("A2:A6") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("B2:B6") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:B6")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
另一答案
常规过滤器将检查整个表,而不是已过滤的行。
以上是关于Excel过滤器在应用了另一个过滤器后为前n个值的主要内容,如果未能解决你的问题,请参考以下文章
如果使用 useEffect 更改了另一个过滤器,则重置为第一页