Pat*_*rez 1 excel vba pivot-table excel-vba
我在数据透视表中写了几个Subs来显示/隐藏字段.现在我尝试使用计算字段执行相同操作,但是在隐藏它时会出错.我从录音机中取出了我的代码,录音机的代码也在最后一行停了下来.我搜索了错误信息,没有严重的结果.
Sub PrRemove()
'remove PR
Dim pt As PivotTable
Set pt = ActiveSheet.PivotTables("MyPivot")
pt.PivotFields("MyField").Orientation = xlHidden '<- here is the error
End Sub
Run Code Online (Sandbox Code Playgroud)
如果MyField是普通字段(不是计算字段),则相同的代码可以正常工作.
我正在使用Excel 2007 SP2.
任何线索?
编辑于2010年6月17日:我也尝试使用pt.DataFields而不是pt.PivotFields,行为完全相同.错误消息显示"无法设置PivotField类的方向".
小智 5
经过多次拔毛我找到了解决方法.如果添加多个数据透视表字段(计算或其他),则Excel会创建一个名为"值"的分组字段.您可以将PivotField的方向属性("值")设置为xlHidden,并为两个字段添加项目符号.因此,如果要删除计算字段,只需添加一个非计算字段,将PivotField("Values").orientation设置为xlHidden,即可完成.
没人说它会很漂亮......
小智 5
With ActiveSheet.PivotTables("PivottableName").PivotFields("Values")
.PivotItems("CalcFieldName").Visible = False
End With
Run Code Online (Sandbox Code Playgroud)