pivot tables orientation

Public Schedule Face-to-Face & Online Instructor-Led Training - View dates & book

Forum home » Delegate support and help forum » Microsoft Excel VBA Training and help » Pivot Tables - Orientation issues?

Pivot Tables - Orientation issues?

resolvedResolved · Medium Priority · Version 2003

Richard has attended:
Excel VBA Intro Intermediate course

Pivot Tables - Orientation issues?

Hi there,

I am trying to write the correct procudure to create a pivot table. I have recorded a macro which does the job, as below;

Recorded Procedure:

Sub CreatePivotTable()

Sheets("AR134_VBA_Template").Select
Range("A8").Select
Selection.CurrentRegion.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"AR134_VBA_Template!R1C1:R897C4").CreatePivotTable TableDestination:="", _
TableName:="PivotTable2"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable2").SmallGrid = False
ActiveSheet.PivotTables("PivotTable2").AddFields RowFields:=Array( _
"Customer Name", "Data")
With ActiveSheet.PivotTables("PivotTable2").PivotFields("91-180 Days Past Due")
.Orientation = xlDataField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("180+ Days Past Due")
.Orientation = xlDataField
.Position = 2
End With
ActiveSheet.PivotTables("PivotTable2").PivotFields("91 Days+").Orientation = _
xlDataField


Range("B3").Select
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Data")
.Orientation = xlColumnField
.Position = 1
End With
Application.CommandBars("PivotTable").Visible = False


End Sub

*Please notice the last part:

Range("B3").Select
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Data")
.Orientation = xlColumnField
.Position = 1
End With

I have then tried to write this 'macro' into a procedure and tried to change the PivotFields, e.g.("91 Days+") orientation from xlDataField to xlColumnField, as below;

Altered Procedure:

Sub CreatePivotTable()

Sheets("AR134_VBA_Template").Select
Range("A8").Select
Selection.CurrentRegion.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"AR134_VBA_Template!R1C1:R897C4").CreatePivotTable TableDestination:="", _
TableName:="PivotTable2"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable2").SmallGrid = False
ActiveSheet.PivotTables("PivotTable2").AddFields RowFields:=Array( _
"Customer Name", "Data")
With ActiveSheet.PivotTables("PivotTable2").PivotFields("91-180 Days Past Due")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("180+ Days Past Due")
.Orientation = xlColumnField
.Position = 1
End With

With ActiveSheet.PivotTables("PivotTable2").PivotFields("91 Days+")

.Orientation = xlColumnField
.Position = 1
End With

Application.CommandBars("PivotTable").Visible = False

End Sub


The Recorded Procedure works just fine, but the Altered Procedure does not, it comes out as a blank pivot table, please could someone explain to me what im doing wrong and why? + I've also tried changing the 'Positions' of the column fields to 1, 2 & 3 respectively, but that doesnt work either. If you could let me know what the last bit of the recorded macro is doing, the

Range("B3").Select
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Data")
.Orientation = xlColumnField
.Position = 1
End With

bit.

I hope the above is possible to understand, I do appreciate this may be difficult without seeing the actual data being used.

Thanks for your time.

RE: Pivot Tables - Orientation issues?

Hi Richard

Thank you for your qustion.

It is very hard to understand your problem without seeing the workbook and how the code runs. Could you email me a copy of the workbook and I can then look into the problem for you.

My email is stephenATstl-training.co.uk

Regards

Stephen

 

Training courses

 

Training information:

Welcome. Please choose your application (eg. Excel) and then post your question.

Our Microsoft Qualified trainers will then respond within 24 hours (working days).

Frequently Asked Questions
What does 'Resolved' mean?

Any suggestions, questions or comments? Please post in the Improve the forum thread.


 

Excel tip:

Create a hyperlink navigation sheet

In large files, it is often useful to have a front sheet with hyperlinks to the key databases and summary calculations in your spreadsheet. Hyperlinks can save you and (more importantly) those less familiar with your spreadsheet a great deal of pointless scrolling between and within sheets.



Hyperlinks appear as underlined text and can jump to any cell or range name in your file. You can also use hyperlinks to jump to other files.



To create a hyperlink to a location in the active workbook: (1) Select the cell that contains the text you want to use as the hyperlink and choose Insert|Hyperlink.(2)Click Place in this document.(3)Choose the sheet you want to link to or the range name from the list of "Defined Names".(4)If necessary, type the cell reference in the Type in the cell reference box. (5) Click OK.

View all Excel hints and tips


Server loaded in 0.08 secs.