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