Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在透视表筛选器中选择(全部)_Excel_Vba - Fatal编程技术网

Excel 如何在透视表筛选器中选择(全部)

Excel 如何在透视表筛选器中选择(全部),excel,vba,Excel,Vba,我需要在透视表中选择(全部) 我尝试了以下方法 Dim pf As PivotField Set pf = Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField") For Each Pi In pf.PivotItems Pi.Visible = True Next Pi 这工作非常缓慢,而且不太好 另一种选择根本不起作用。它仅选择以前选择的一些项目 Work

我需要在透视表中选择
(全部)

我尝试了以下方法

Dim pf As PivotField
 Set pf = Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField")
   For Each Pi In pf.PivotItems
          Pi.Visible = True
        Next Pi
这工作非常缓慢,而且不太好

另一种选择根本不起作用。它仅选择以前选择的一些项目

Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").CurrentPage = "(All)"

您可能会出于几个原因调用.Visible=True,因此希望下面的其中一个说明您正在尝试执行的操作:

如果您的意思是要将所有Pi设置为在一个步骤中可见,则不要在pf.PivotItems中枚举Pi,只需:

pf.ShowAllItems=True

另一方面,如果您的意思是要清除所有过滤器,则:

pf.ClearAllFilters()

或者,如果您只想清除手动过滤器(即不是针对实际行/列字段应用的过滤器,而是针对过滤器字段应用的过滤器),则:

pf.ClearManualFilters


有关您可能要调用的完整列表,请参阅“数据透视字段对象成员的帮助”。Visible=True有几个原因,因此希望下面的一项内容涵盖您正在尝试执行的操作:

如果您的意思是要将所有Pi设置为在一个步骤中可见,则不要在pf.PivotItems中枚举Pi,只需:

pf.ShowAllItems=True

另一方面,如果您的意思是要清除所有过滤器,则:

pf.ClearAllFilters()

或者,如果您只想清除手动过滤器(即不是针对实际行/列字段应用的过滤器,而是针对过滤器字段应用的过滤器),则:

pf.ClearManualFilters


有关您可能要调用的完整列表,请参阅“数据透视字段对象成员的帮助”。Visible=True有几个原因,因此希望下面的一项内容涵盖您正在尝试执行的操作:

如果您的意思是要将所有Pi设置为在一个步骤中可见,则不要在pf.PivotItems中枚举Pi,只需:

pf.ShowAllItems=True

另一方面,如果您的意思是要清除所有过滤器,则:

pf.ClearAllFilters()

或者,如果您只想清除手动过滤器(即不是针对实际行/列字段应用的过滤器,而是针对过滤器字段应用的过滤器),则:

pf.ClearManualFilters


有关您可能要调用的完整列表,请参阅“数据透视字段对象成员的帮助”。Visible=True有几个原因,因此希望下面的一项内容涵盖您正在尝试执行的操作:

如果您的意思是要将所有Pi设置为在一个步骤中可见,则不要在pf.PivotItems中枚举Pi,只需:

pf.ShowAllItems=True

另一方面,如果您的意思是要清除所有过滤器,则:

pf.ClearAllFilters()

或者,如果您只想清除手动过滤器(即不是针对实际行/列字段应用的过滤器,而是针对过滤器字段应用的过滤器),则:

pf.ClearManualFilters

有关完整列表,请参阅“数据透视字段对象成员的帮助”

尝试以下代码:

Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").ClearAllFilters
请尝试以下代码:

Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").ClearAllFilters
请尝试以下代码:

Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").ClearAllFilters
请尝试以下代码:

Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").ClearAllFilters

非常感谢。然而,对我来说,它并没有起到一些作用reason@Buras谢谢-我现在意识到你可能会提到一些东西,这取决于你想让它们可见的原因。请参阅我编辑过的答案,特别是pf.ClearManualFilters(我想您指的“(全部)”是关于过滤器的下拉列表)。如果这还不行,那就告诉我!非常感谢。然而,对我来说,它并没有起到一些作用reason@Buras谢谢-我现在意识到你可能会提到一些东西,这取决于你想让它们可见的原因。请参阅我编辑过的答案,特别是pf.ClearManualFilters(我想您指的“(全部)”是关于过滤器的下拉列表)。如果这还不行,那就告诉我!非常感谢。然而,对我来说,它并没有起到一些作用reason@Buras谢谢-我现在意识到你可能会提到一些东西,这取决于你想让它们可见的原因。请参阅我编辑过的答案,特别是pf.ClearManualFilters(我想您指的“(全部)”是关于过滤器的下拉列表)。如果这还不行,那就告诉我!非常感谢。然而,对我来说,它并没有起到一些作用reason@Buras谢谢-我现在意识到你可能会提到一些东西,这取决于你想让它们可见的原因。请参阅我编辑过的答案,特别是pf.ClearManualFilters(我想您指的“(全部)”是关于过滤器的下拉列表)。如果这还不行,那就告诉我!