[英]VBA inserted pivot table field and values columns both not showing
我想显示一个字段及其值列,以便我可以过滤数据透视表中的字段列。
我首先使用记录宏选项,因为我不太了解 VBA。 然后我把它清理干净了。 以下是我记录的动作:
结束录音
我对 VBA 了解不多,但我正在通过清理我所做的录音来学习。 这是代码的样子(经过一些清理):
Sub NewHires()
' NewHires Macro
Sheets("CrewSheets").PivotTables("PivotTable1").PivotFields("Present").Orientation = _
xlHidden
With Sheets("CrewSheets").PivotTables("PivotTable1").PivotFields("Week")
.Orientation = xlRowField
.Position = 9
End With
Sheets("CrewSheets").PivotTables("PivotTable1").AddDataField Sheets("CrewSheets").PivotTables( _
"PivotTable1").PivotFields("Week"), "Sum of Week", xlSum
With Sheets("CrewSheets").PivotTables("PivotTable1").PivotFields("Sum of Week")
.Caption = "Sum of Week"
End With
Columns("J:J").EntireColumn.Hidden = True
Sheets("CrewSheets").PivotTables("PivotTable1").PivotFields("Week").PivotFilters.Add2 _
Type:=xlValueIsLessThan, DataField:=Sheets("CrewSheets").PivotTables("PivotTable1"). _
PivotFields("Sum of Week"), Value1:=11
End Sub
问题是,“周”字段被“周总和”字段替换,因此不会过滤。 我有一种感觉,它与名称和 VBA 没有看到数据透视表字段“周”和表值“周总和”之间的区别。
如果我可以过滤数据透视表将“周总和”放入的列,那么这可能是一个解决方案。 但我不能。 我需要在数据透视表中过滤它,这正是我手动执行时所做的。
-更新如下-
宏前:
宏之后
它应该是什么样子
为了澄清一下,我没有像往常一样隐藏列 J:J,在“它应该是什么样子”的图片中。
好吧,我没有使用宏来移动字段,而是为“周”字段创建了一个切片器,并让用户在需要时对其进行过滤。 或多或少,它以相同的结果结束,如果需要,能够过滤到 <11。
但是,我想指出的是,我认为我试图做的事情的解决方案实际上是不可能的。 (毛刺?)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.