0

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

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

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

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

任何人都可以使用本机 Excel 函数为枢轴建议任何类似的东西吗?

4

1 回答 1

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

于 2013-07-19T12:34:19.927 回答