使用公式检查数据透视表的名称是否存在

时间:2013-07-19 08:53:08

标签: excel excel-2007 pivot-table

我有一个报告,我正在构建包含数据透视表,其名称(即PivotTable1)在VBA代码中明确引用。

我想在工作簿本身中包含基于公式的检查,其中存在数据透视表(基本上检查用户是否未更改表的名称或完全删除它)。

我使用以下解决方法来检查表是否存在使用其名称:

=NOT(ISERROR(INDEX(INDIRECT("NameOfTable"),1,1))))

任何人都可以使用原生Excel功能为枢轴提出类似建议吗?

1 个答案:

答案 0 :(得分:0)

是否可以选择创建VBA用户定义函数?在这种情况下,我建议

Public Function ExistPivot(PTName As String) As Boolean
Dim WS As Worksheet, PT As PivotTable

    ExistPivot = False
    For Each WS In ActiveWorkbook.Worksheets
        For Each PT In WS.PivotTables
            If PT.Name = PTName Then
                ExistPivot = True
                Exit Function
            End If
        Next PT
    Next WS
End Function

并在工作表中将其用作=ExistPivot("xxx"),结果将为TRUE或FALSE