Hello Everyone,
I am working on a project to FCST sales. Each month we download a spreadsheet, FCST's are done on months, so each month, one month drops off the list and a new one is added. The problem I have, is I recorded a macro to create the pivot table, well when one month drops off, the code errors our because it can't find the hard coded month....how do I fix this. Here is the code to create the macro, it is still pretty raw, but I am sure someone knows how to help:
Sub FCST ()
Dim LastRow As Long
LastRow = Range("A" & Rows.Count).End(xlUp).Row
ActiveSheet.UsedRange.Select
Range(Selection, Selection.End(xlDown)).Name = "Pivot_Range"
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"=Pivot_Range").CreatePivotTable TableDestination:="", _
TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Customer group")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Int.Customer Name")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Mat.group/Diameter")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Final product")
.Orientation = xlRowField
.Position = 4
End With
Range("D4").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Final product"). _
Orientation = xlHidden
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Finished Product")
.Orientation = xlRowField
.Position = 4
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Nick name")
.Orientation = xlRowField
.Position = 5
End With
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Data2")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("SAG Fcst. version")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("09.2006"), "Sum of 09.2006", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("10.2006"), "Sum of 10.2006", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("11.2006"), "Sum of 11.2006", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("12.2006"), "Sum of 12.2006", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("01.2007"), "Sum of 01.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("02.2007"), "Sum of 02.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("03.2007"), "Sum of 03.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("04.2007"), "Sum of 04.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("05.2007"), "Sum of 05.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("06.2007"), "Sum of 06.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("07.2007"), "Sum of 07.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("08.2007"), "Sum of 08.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("09.2007"), "Sum of 09.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("10.2007"), "Sum of 10.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("11.2007"), "Sum of 11.2007", xlSum
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("12.2007"), "Sum of 12.2007", xlSum
Range("E5").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Nick name").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Range("D5").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Finished Product"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
Range("C5").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Mat.group/Diameter"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveWindow.SmallScroll Down:=-9
ActiveSheet.PivotTables("PivotTable1").PivotFields("Data2").CurrentPage = _
"FC value (fixed curr.)"
Range("A1").Select
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
Range("F5").Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of 09.2006")
.NumberFormat = "#,##0"
End With
'With ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of ShipQty")
' .NumberFormat = "#,##0"
Range("G5").Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of 10.2006")
.NumberFormat = "#,##0"
End With
With ActiveSheet.PivotTables("PivotTable1").DataPivotField
.Orientation = xlColumnField
.Position = 1
End With
Range("A1").Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Data2")
.PivotItems("FC Allocation").Visible = False
.PivotItems("FC Potential QTY").Visible = False
.PivotItems("FC price (orig. curr.)").Visible = False
.PivotItems("FC quantity").Visible = False
.PivotItems("FC Shipp. QTY").Visible = False
End With
End Sub
Thanks, MATT
Bookmarks