测试如果在数据透视表VBA上显示数据透视表字段

时间:2017-11-09 23:42:36

标签: excel vba pivot-table

我有一个数据透视表,其中包含报告过滤器字段A,列标签字段B和行标签字段C.

使用VBA检查这些字段是否显示在数据透视表上的简单方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容一次检查所有这三个:

Sub CheckFields()
Dim pt As PivotTable
Dim pf As PivotField

Set pt = ActiveSheet.PivotTables("SomePivotTable")

For Each pf In pt.VisibleFields
    If intr("|A|B|C|", "|" & pf.Name & "|") > 0 Then
        'the pf is in the Pivot
    Else
        'the pf is not in the Pivot
    End If
Next pf
End Sub

...或者您可以测试pf.orientation返回的内容。如果它只是xlDataField或xlHidden,那么你很高兴。

enter image description here