我有一个报告,我正在构建包含数据透视表,其名称(即PivotTable1)在VBA代码中明确引用。
我想在工作簿本身中包含基于公式的检查,其中存在数据透视表(基本上检查用户是否未更改表的名称或完全删除它)。
我使用以下解决方法来检查表是否存在使用其名称:
=NOT(ISERROR(INDEX(INDIRECT("NameOfTable"),1,1))))
任何人都可以使用原生Excel功能为枢轴提出类似建议吗?
答案 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