在数据透视表中设置可变数量的过滤器

时间:2019-07-12 14:43:51

标签: excel vba

在网络上搜索后,我确定没有人以前遇到过这个问题,或者我在搜索中使用了错误的单词...我希望一些专家可以帮助我实现我的目标。

我有一个数据透视表,其中的一个条件中包含成千上万个元素。

我想编写一个宏来过滤此条件-不仅是单个元素,而且是不确定数量的元素(大约50-100,取决于情况)。

如果我尝试将每个元素与一个数组进行比较,并设置每个偶数元素= true,那么在常规的基础上进行处理将花费很长时间。

我正在寻找一种方法,可以过滤数组中的第一个元素,然后将每个过滤器添加到已经存在的过滤器中,而不是检查每个元素。

我试图记录自己在做什么。我设置了要搜索的第一个过滤器。之后,我添加了第二个过滤器。我得到了与此处列出的代码相似的代码:

ActiveSheet.PivotTables("SLAmonthlykomplett").CubeFields(16). _
EnableMultiplePageItems = True
'Multiple Items is enabled.

ActiveSheet.PivotTables("Pivot1").PivotFields( _
"[Contract Position].[Contract Number And Position Number].[Contract Number And Position Number]" _
).VisibleItemsList = Array( _
"[Contract Position].[Contract Number And Position Number].&[I-M-11071807-200]")
'here I did set the first filter

ActiveSheet.PivotTables("Pivot1").PivotFields( _
"[Contract Position].[Contract Number And Position Number].[Contract Number And Position Number]" _
).VisibleItemsList = Array( _
"[Contract Position].[Contract Number And Position Number].&[I-M-11071807-200]", _
"[Contract Position].[Contract Number And Position Number].&[I-M-11071807-200]")
'here I choose the second one - in the code the first one is still mentioned.

如您所见,我不能不提及已设置的过滤器而设置第二个过滤器。但是要保持表现,这就是我所需要的。添加一个过滤器而不更改现有过滤器。

在没有将每个元素与数组进行比较的情况下,您是否有一个notehr解决方案?

1 个答案:

答案 0 :(得分:0)

没有人知道我的答案,因为我提供的信息太少了吗?我知道这很复杂...如果有人可以看一下,我很乐意提供解决此问题所需的一切信息。