只显示特定的数据透视项
我对VBA有一点新意,我保证会进行一次search,但是恐怕我太年轻了,甚至无法正确search,因为我不确定可能需要的术语。
我有一个数据透视表是作为一个更大的macros的一部分创build的。 一旦创build,我只想显示特定的PivotItems。 到目前为止,我看到我只能“隐藏”那些我不想看到的东西。 这是行不通的,因为我拉了几个类似的(但略有不同)的报告。 有些不共享PivotItems和运行macros时,我得到一个错误,因为该项目丢失。 我的代码:
Sub PivotDetails() With ActiveSheet.PivotTables("PivotTable5").PivotFields("Queue") .PivotItems("CAR").Visible = False .PivotItems("DOG").Visible = False .PivotItems("TRUCK").Visible = False End With End Sub
所以我的一些报告有DOG,但有些报告没有,所以这会导致报告错误,甚至没有隐藏的项目。 所有的报告都有我不想显示的项目,所以如果我能明确说明我想要的项目会更好。
这是有道理的吗?
您可以遍历PivotField
每个PivotItem
,并使用Select
语句来确定是否希望它可见或不可见。
重点是列出所有要显示(或不显示)的项目,并且如果该项目不存在于给定的PivotTable
,它将被忽略,因为该名称永远不会传递到Select语句中。
Sub PivotDetails() Dim ws As Worksheet, pt As PivotTable, pf As PivotField, pi As PivotItem Set ws = Sheets("mySheet") 'replace with your sheet name Set pt = ws.PivotTables("PivotTable5") Set pf = pt.PivotFields("Qeue") For Each pi In pf.PivotItems Select Case pi.Name Case Is = "CAR", "DOG", "TRUCK" 'add more values as needed pi.Visible = False Case Else pi.Visible = True End Select Next End Sub
- VBA Excel文件打开提示取消错误
- 在Excel中格式化date以使用Access VBA显示当前date
- VBA中的工作表函数
- 时间戳行到Excel可读的时间戳
- C#将数据从Excel传回ASP.NET Web应用程序中的Datagrid
- 根据excel vba中的数据条件,使用2个条件更改某些行颜色,可以覆盖另一个
- dynamic删除一系列excel单元格中的空白
- Python:使用图表创buildExcel工作表
- eclipse插件抛出org.eclipse.e4.core.di.InjectionException:java.lang.NoClassDefFoundError:org / apache / poi / ss / usermodel / Row