Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Run Time Error 1004 'Unable to get the PivotFields property of the PivotTable class'

I am trying to use the code to select all the rows under one of the subheaders in a pivot table. I am getting a run time error 1004:

Unable to get the PivotFields property of the Pivot Table class

From this code:

 Sub ttest()
 Dim pt As PivotTable
 Set pt = Sheets("Report").PivotTables("PivotTable1")

 pt.PivotFields("Row Labels").PivotItems("CL").DataRange.Select

 End Sub

Why?

like image 318
David Van der Vieren Avatar asked Jul 02 '13 15:07

David Van der Vieren


2 Answers

I may add an extra answer (as I found nothing on that):

For people working with Data Model Pivot Tables, field names are not obvious ([tablename].[fieldname].[fieldname2]). Hence I suggest using following loop to understand what fields are currently in your pivot table:

Dim pt As PivotTable
Dim pf As PivotField

Set pt = ActiveSheet.PivotTables(ptName)

For Each pf In pt.PivotFields
    Debug.Print pf.Name
Next

This way you'll have all the names listed in the immediate view.

like image 138
Robert Sołczak Avatar answered Oct 03 '22 08:10

Robert Sołczak


As JosieP said in the comments, the 1004 error means that there is no such object, that is there is no such pivot field that is called "Row Labels".

like image 25
ib11 Avatar answered Oct 03 '22 08:10

ib11