findExcel 2007的数据透视表

有人能告诉我如何find工作簿(或工作表)中的所有数据透视表? 在某些情况下,数据透视表可能隐藏在一个非常大的Excel表格中,或很难find。 如果我至less可以得到数据透视表所在的单元格地址或范围,那就太棒了。

谢谢。

这应该适合你。 它将结果打印到“立即”窗口中:

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表集合; 您可以遍历每个工作表,查找具有.PivotTables.Count > 0工作表,然后通过该表上的PivotTables循环find您正在查找的工作表:

 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