我正在使用VBA来捕获数据透视表中的所有区域。代码在
之下For Each objCubeFld In pvt.PivotFields 'Loop through all fields in PivotTable
Cubefield(i) = objCubeFld
Orient(i) = objCubeFld.Orientation 'Orientation
Pos(i) = objCubeFld.Position 'Position
i = i + 1
Next objCubeFld
但是,我得到了以下错误。
Enumerable#inject(initial, sym)
我知道当Orientation =“3”时,它意味着过滤。删除过滤器后,程序运行正常。任何人都可以解释一下吗?
答案 0 :(得分:0)
当涉及过滤器或Page字段时,这不是.Position。只是不要使用.Position。
For Each objCubeFld In pvt.PivotFields 'Loop through all fields in PivotTable
Cubefield(i) = objCubeFld
Orient(i) = objCubeFld.Orientation 'Orientation
If objCubeFld.Orientation = "3" Then 'When it is filter
Pos(i) = 1
Else
Pos(i) = objCubeFld.Position 'Position
End If
i = i + 1
Next objCubeFld