Makro zerschießt die Pivottabelle
22.01.2009 16:15:40
J.
Hallo zusammen,
ich habe ein Makro programmiert, das Anfangs gut funktionierte.
Und zwar habe ich ein Tabellenblatt erstellt inkl. einer Pivottabelle. Durch Auswahl einer DropandDown-Liste werden automatisch andere Daten gezogen.
Nun habe ich eine Makro geschrieben, bei dem automatisch ein Wert aus der DropandDownliste ausgewählt wird, dann wird das Tabellenblatt kopiert, eine neues Excel-Dokument geöffnet, die Daten eingefügt, unter einem Namen automatisch gespeichert und geschlossen.
Das Makro ist so programmiert, dass es hintereinander auf diese Weise 100 Dateien erstellt.
Das war super. Ich musste die Dateien nicht mehr per Hand erstellen und abspeichern. 15 Minuten war das Makro fertig und meine 100 Dateien erstellt.
Nun funktioniert es aber nicht 100%.
Irgendwie zerschießt das Makro mir die Pivottabelle, sodass die Tabelle nicht mehr die richtigen Werte zieht.
Es wählt zwar in der DropandDown-Liste den Wert aus, jedoch die Pivottabelle zieht andere Werte, obwohl der Datenbereich richtig ist. Sehr seltsam.
Es werden Daten gezogen, die zu einem anderem Auswahlpunkt gehören ausgewählt.
Und das komische ist auch, dass nicht alle Werte falsch gezogen werden.
Kann mir irgendjemand helfen?
Hier meine Programmierung
-------------------------------------------------
Option Explicit
Const field = "A1:H80"
Const chartname = "test"
Const location = "n:\"
Const choice1 = "D11100"
Const choice2 = "D12100"
Const choice3 = "D13100"
Const choice4 = "D15100"
Const choice5 = "D21100"
.....
Sub test()
Application.ScreenUpdating = False
ActiveSheet.PivotTables("PivotTable2").PivotFields("D").CurrentPage = choice1
range(field).Select
Selection.Copy
Call Format
ActiveWorkbook.SaveAs Filename:=location & range("c1") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWindow.Close
Windows(chartname).Activate
ActiveSheet.PivotTables("PivotTable2").PivotFields("D").CurrentPage = choice2
range(field).Select
Selection.Copy
Call Format
ActiveWorkbook.SaveAs Filename:=location & range("c1") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWindow.Close
Windows(chartname).Activate
ActiveSheet.PivotTables("PivotTable2").PivotFields("D").CurrentPage = choice3
range(field).Select
Selection.Copy
Call Format
ActiveWorkbook.SaveAs Filename:=location & range("c1") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWindow.Close
....
Ich bin kein Profi, vielleicht kennt sich jemand besser damit aus. Vielleicht ist die Programmierung nicht einwandfrei?!!
Hoffe es kann mir jemand helfen.
Vielen Dank
J.Wagner