Solved

count of pivot tables in a workbook

Posted on 2010-09-06
9
793 Views
Last Modified: 2013-11-26
How to determine via vba the count of pivot tables (How many tables exist in a workbook ) in a workbook so that once can store there names in array(dynamic) and perform a series of operations
0
Comment
Question by:Rajnish_Sharma_ibm
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 50

Expert Comment

by:Ingeborg Hawighorst
ID: 33609500
Hello Rajnish,

the code below will count the pivot tables in all sheets of the active workbook.

cheers, teylyn
Sub CountPivotTables()
Dim ws As Worksheet
Dim i As Integer
i = 0
For Each ws In ActiveWorkbook.Worksheets
    For Each PivotTable In ws.PivotTables
        i = i + 1
    Next PivotTable
Next ws
Debug.Print i

End Sub

Open in new window

0
 
LVL 17

Expert Comment

by:calacuccia
ID: 33609503
Dim i as Long
Dim  wb as workbook
Dim ws as worksheet

i = 0
Set wb as Workbookds("MyWorkbook.xls")
For each ws in wb.Worksheets
   i = i + ws.PivotTables.Count
Next ws
MsgBox "There are " & i & " Pivot Tables in your workbook"
0
 
LVL 50

Expert Comment

by:Ingeborg Hawighorst
ID: 33609517
cal, just learned something. Thanks, teylyn
0
 
LVL 17

Expert Comment

by:calacuccia
ID: 33609524
PivotTables.Count?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 59

Accepted Solution

by:
Chris Bottomley earned 125 total points
ID: 33609528
The following will return both the sheet names and pivot table names so you can address them appropriately as:

activeworkbook.sheets(arrPivots(arrIndex, 0))(.pivottables(arrPivots(arrIndex, 0))

Where arrindex is the index number within the array for the tables ... possibly via a loop.

Chris
Sub pivArr()

Dim arrPivots() As String

Dim arrIndex As Integer

Dim piv As Variant

Dim cnt As Integer

Dim ws As Worksheet



    For Each ws In ThisWorkbook.Worksheets

        cnt = cnt + ws.PivotTables.Count

    Next

    arrIndex = -1

    For Each ws In ThisWorkbook.Worksheets

        For Each piv In ws.PivotTables

            arrIndex = arrIndex + 1

            ReDim Preserve arrPivots(0 To cnt - 1, 1)

            arrPivots(arrIndex, 0) = ws.Name

            arrPivots(arrIndex, 1) = piv.Name

        Next

    Next

End Sub

Open in new window

0
 
LVL 50

Expert Comment

by:Ingeborg Hawighorst
ID: 33609663
@cal. precisely. I'm baby-stepping through VBA, as it is, spreading my "wisdom" where I can. LOL. Seeing the latest comment, I guess Chris has it nailed. Again. Cheers, Chris.
0
 
LVL 59

Expert Comment

by:Chris Bottomley
ID: 33609691
>>> I'm baby-stepping through VBA, as it is, spreading my "wisdom" where I can

And trouncing me at almost every opportunity ... with your level of detail :o)

Chris
0
 

Author Closing Comment

by:Rajnish_Sharma_ibm
ID: 33609836
Thanks for speedy and accurate solution!
0
 
LVL 50

Expert Comment

by:Ingeborg Hawighorst
ID: 33610367
>> with your level of detail

You can take the girl out of Germany, but you can't take Germany out of the girl! :-))

enjoy your points!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
Workbook link problems after copying tabs to a new workbook? David Miller (dlmille) Intro Have you either copied sheets to a new workbook, and after having saved and opened that workbook, you find that there are links back to the original sou…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now