Найдите таблицу Excel 2007 Pivot - PullRequest
3 голосов
/ 15 декабря 2011

Может кто-нибудь сказать мне, как я могу найти все сводные таблицы в книге (или листе)? В некоторых случаях сводная таблица может быть скрыта или ее трудно найти в очень большом листе Excel. Если бы я мог, по крайней мере, получить адрес ячейки или диапазон, в котором находятся / находятся сводные таблицы, это было бы здорово.

Спасибо.

Ответы [ 2 ]

6 голосов
/ 15 декабря 2011

Это должно работать для вас.Результаты выводятся в окно «Немедленно»:

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
0 голосов
/ 15 декабря 2011

Каждый лист должен содержать коллекцию PivotTables;Вы можете циклически просматривать каждую таблицу в поисках листов, которые имеют .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
...