ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   pivot and vba !!! (https://www.excelbanter.com/excel-programming/285251-pivot-vba.html)

Eric Lecocq

pivot and vba !!!
 
the following code works perfect till thre comment pivot table 2
i receive an error invalid call or reference

can you help me ?

ele

Sub makepivot()
Dim wb1 As Workbook
Dim sht1, sht2 As Worksheet
Dim pc As PivotCache
Dim pt As PivotTable

Set wb1 = ActiveWorkbook
Set sht1 = wb1.Sheets(1)
sht1.Name = "Blue Planet"

Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, _
SourceData:="blue planet!A:N")

'
' Pivot table 1 (Per Code)
'
Application.StatusBar = "Creating First Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="PivotTable1"
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("PivotTable1").AddFields RowFields:=Array( _
"Sold-to Name", "Data"), ColumnFields:="Date",
PageFields:="Material"
With ActiveSheet.PivotTables("PivotTable1").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With ActiveSheet.PivotTables("pivottable1").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With

ActiveSheet.PivotTables("pivottable1").PivotFields ("Material").CurrentPage =
"3EC17385AA"

================================================== =============
'
' Pivot table 2 (Per Country)
'
Application.StatusBar = "Creating Second Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="pivottable2"
With ActiveSheet.PivotTables("pivottable2")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("pivottable2").AddFields RowFields:=Array( _
"Material", "Data"), ColumnFields:="Date", PageFields:="Sold-to
Name"
With ActiveSheet.PivotTables("pivottable2").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With ActiveSheet.PivotTables("pivottable2").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With
ActiveSheet.PivotTables("pivottable2").PivotFields ("Sold-to
Name").CurrentPage = "ALCATEL ITALIE SPA"
================================================== ===============

End Sub




Tom Ogilvy

pivot and vba !!!
 
since you specify "" for the destination in each case, maybe this causes a
conflict. Perhaps you need to actually specify a destination.

--
Regards,
Tom Ogilvy

"Eric Lecocq" wrote in message
...
the following code works perfect till thre comment pivot table 2
i receive an error invalid call or reference

can you help me ?

ele

Sub makepivot()
Dim wb1 As Workbook
Dim sht1, sht2 As Worksheet
Dim pc As PivotCache
Dim pt As PivotTable

Set wb1 = ActiveWorkbook
Set sht1 = wb1.Sheets(1)
sht1.Name = "Blue Planet"

Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, _
SourceData:="blue planet!A:N")

'
' Pivot table 1 (Per Code)
'
Application.StatusBar = "Creating First Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="PivotTable1"
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("PivotTable1").AddFields RowFields:=Array( _
"Sold-to Name", "Data"), ColumnFields:="Date",
PageFields:="Material"
With ActiveSheet.PivotTables("PivotTable1").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With ActiveSheet.PivotTables("pivottable1").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With

ActiveSheet.PivotTables("pivottable1").PivotFields ("Material").CurrentPage

=
"3EC17385AA"

================================================== =============
'
' Pivot table 2 (Per Country)
'
Application.StatusBar = "Creating Second Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="pivottable2"
With ActiveSheet.PivotTables("pivottable2")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("pivottable2").AddFields RowFields:=Array( _
"Material", "Data"), ColumnFields:="Date", PageFields:="Sold-to
Name"
With ActiveSheet.PivotTables("pivottable2").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With ActiveSheet.PivotTables("pivottable2").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With
ActiveSheet.PivotTables("pivottable2").PivotFields ("Sold-to
Name").CurrentPage = "ALCATEL ITALIE SPA"
================================================== ===============

End Sub






Bill Manville

pivot and vba !!!
 
Eric Lecocq wrote:
the following code works perfect till thre comment pivot table 2
i receive an error invalid call or reference


On what line is the error reported?
I don't recognise the error message - what error number and what
precise wording?

Bill Manville
MVP - Microsoft Excel, Oxford, England
No email replies please - reply in newsgroup


Eric Lecocq

pivot and vba !!!
 
I thought that specifying "" means a new sheet ?
I will try to create a new sheet and then create the pivottable.

Ele




"Tom Ogilvy" wrote in message
...
since you specify "" for the destination in each case, maybe this causes a
conflict. Perhaps you need to actually specify a destination.

--
Regards,
Tom Ogilvy

"Eric Lecocq" wrote in message
...
the following code works perfect till thre comment pivot table 2
i receive an error invalid call or reference

can you help me ?

ele

Sub makepivot()
Dim wb1 As Workbook
Dim sht1, sht2 As Worksheet
Dim pc As PivotCache
Dim pt As PivotTable

Set wb1 = ActiveWorkbook
Set sht1 = wb1.Sheets(1)
sht1.Name = "Blue Planet"

Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, _
SourceData:="blue planet!A:N")

'
' Pivot table 1 (Per Code)
'
Application.StatusBar = "Creating First Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="PivotTable1"
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("PivotTable1").AddFields RowFields:=Array( _
"Sold-to Name", "Data"), ColumnFields:="Date",
PageFields:="Material"
With ActiveSheet.PivotTables("PivotTable1").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With

ActiveSheet.PivotTables("pivottable1").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With


ActiveSheet.PivotTables("pivottable1").PivotFields ("Material").CurrentPage
=
"3EC17385AA"

================================================== =============
'
' Pivot table 2 (Per Country)
'
Application.StatusBar = "Creating Second Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="pivottable2"
With ActiveSheet.PivotTables("pivottable2")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("pivottable2").AddFields RowFields:=Array( _
"Material", "Data"), ColumnFields:="Date", PageFields:="Sold-to
Name"
With ActiveSheet.PivotTables("pivottable2").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With

ActiveSheet.PivotTables("pivottable2").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With
ActiveSheet.PivotTables("pivottable2").PivotFields ("Sold-to
Name").CurrentPage = "ALCATEL ITALIE SPA"
================================================== ===============

End Sub








Eric Lecocq

pivot and vba !!!
 
line is pc.CreatePivotTable TableDestination:="", TableName:="pivottable2"

error is Run-time error '1004': Application-defined or object-defined error
....

thanks for your help.

Ele

"Bill Manville" wrote in message
...
Eric Lecocq wrote:
the following code works perfect till thre comment pivot table 2
i receive an error invalid call or reference


On what line is the error reported?
I don't recognise the error message - what error number and what
precise wording?

Bill Manville
MVP - Microsoft Excel, Oxford, England
No email replies please - reply in newsgroup




Eric Lecocq

pivot and vba !!!
 
it succeeds but i can't understand why !!!
thank you very much.

Ele.


"Eric Lecocq" wrote in message
...
I thought that specifying "" means a new sheet ?
I will try to create a new sheet and then create the pivottable.

Ele




"Tom Ogilvy" wrote in message
...
since you specify "" for the destination in each case, maybe this causes

a
conflict. Perhaps you need to actually specify a destination.

--
Regards,
Tom Ogilvy

"Eric Lecocq" wrote in message
...
the following code works perfect till thre comment pivot table 2
i receive an error invalid call or reference

can you help me ?

ele

Sub makepivot()
Dim wb1 As Workbook
Dim sht1, sht2 As Worksheet
Dim pc As PivotCache
Dim pt As PivotTable

Set wb1 = ActiveWorkbook
Set sht1 = wb1.Sheets(1)
sht1.Name = "Blue Planet"

Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, _
SourceData:="blue planet!A:N")

'
' Pivot table 1 (Per Code)
'
Application.StatusBar = "Creating First Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="PivotTable1"
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("PivotTable1").AddFields

RowFields:=Array( _
"Sold-to Name", "Data"), ColumnFields:="Date",
PageFields:="Material"
With ActiveSheet.PivotTables("PivotTable1").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With

ActiveSheet.PivotTables("pivottable1").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With


ActiveSheet.PivotTables("pivottable1").PivotFields ("Material").CurrentPage
=
"3EC17385AA"

================================================== =============
'
' Pivot table 2 (Per Country)
'
Application.StatusBar = "Creating Second Pivot..."
pc.CreatePivotTable TableDestination:="", TableName:="pivottable2"
With ActiveSheet.PivotTables("pivottable2")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("pivottable2").AddFields

RowFields:=Array( _
"Material", "Data"), ColumnFields:="Date",

PageFields:="Sold-to
Name"
With ActiveSheet.PivotTables("pivottable2").PivotFields ("Demand")
.Orientation = xlDataField
.Caption = "_Demand"
.Position = 1
.Function = xlSum
End With
With

ActiveSheet.PivotTables("pivottable2").PivotFields ("Allocation")
.Orientation = xlDataField
.Caption = "_Allocation"
.Function = xlSum
End With
ActiveSheet.PivotTables("pivottable2").PivotFields ("Sold-to
Name").CurrentPage = "ALCATEL ITALIE SPA"
================================================== ===============

End Sub











All times are GMT +1. The time now is 07:18 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com