有人能告诉我如何在工作簿(或工作表)中找到所有数据透视表吗?在某些情况下,数据透视表可能被隐藏或很难在非常大的 Excel 工作表中找到。如果我至少可以获得数据透视表所在的单元格地址或范围,那就太好了。
谢谢。
有人能告诉我如何在工作簿(或工作表)中找到所有数据透视表吗?在某些情况下,数据透视表可能被隐藏或很难在非常大的 Excel 工作表中找到。如果我至少可以获得数据透视表所在的单元格地址或范围,那就太好了。
谢谢。
这应该适合你。它将结果打印到立即窗口:
Sub FindPivotTables()
Dim wst As Worksheet
Dim pvt As PivotTable
' loop through all sheets and print name & address of all pivot tables
For Each wst In ActiveWorkbook.Worksheets
For Each pvt In wst.PivotTables
Debug.Print wst.Name, pvt.TableRange2.Address, pvt.Name
Next pvt
Next wst
End Sub
每个工作表都应该公开一个PivotTables
集合;您可以遍历每个工作表以查找具有 a 的工作表,.PivotTables.Count > 0
然后遍历该工作表上的工作表PivotTables
以找到您要查找的工作表:
Sub Test()
Dim pTable As pivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Dim pivotTableCount
pivotTableCount = ws.PivotTables.Count
If pivotTableCount > 0 Then
For Each pTable In ws.PivotTables
Dim pivotTableName As String
pivotTableName = pTable.Name
Dim pivotTableTopLeftCell As String
pivotTableTopLeftCell = pTable.Location
Next pTable
End If
Next ws
End Sub