gpt4 book ai didi

vba - 使用vba代码过滤掉数据透视表中的零

转载 作者:行者123 更新时间:2023-12-01 22:32:39 27 4
gpt4 key购买 nike

我有 vba 代码可以帮助我创建数据透视表,但现在我遇到具有 0 值的条目,在数据透视表上显示为空白,但我想修改我的代码,以便可以过滤掉 0 值。换句话说,我想让pivotitem在右侧的值为0时不显示。

请参阅图片以了解所需的结果。当我运行我的代码时,没有错误,就像什么都没发生一样。

'filter out zero
Dim ws1 As Worksheet
Set ws1 = Worksheets("PivotTable")

Dim pf2 As PivotField
Set pf2 = Pvt.PivotFields("Price Range")

Dim pi2 As PivotItem
For Each pi2 In pf2.PivotItems
pi2.Visible = Len(ws1.Range(pi2.DataRange.Address)) > 0
Next

End Sub

enter image description here

最佳答案

无需遍历数据透视项。相反,您可以在“价格范围”字段上设置值过滤器,以仅显示相应值大于零的项目。

Option Explicit

Sub FilterBlankPivotItems()

Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pfValues As PivotField

Set ws = Worksheets("SomeWorksheetName")
Set pt = ws.PivotTables("SomePivotTableName")
Set pf = pt.PivotFields("SomePivotFieldName")
Set pfValues = pt.PivotFields("SomeValuesFieldName")

pf.ClearAllFilters
pf.PivotFilters.Add2 Type:=xlValueIsGreaterThan, DataField:=pfValues, Value1:=0

End Sub

这与执行此操作相同:

enter image description here

enter image description here

enter image description here

enter image description here

关于vba - 使用vba代码过滤掉数据透视表中的零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46893269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com