Supportnet / Forum / Tabellenkalkulation
Makro für Pivot-Tabelle
Frage
Hallo Excel-Gemeinde!
Ich habe ein Problem mit einem Makro. Ich möchte aus meinem Datenblatt "Daten Kosten" eine Pivot-Tabelle erstellen. Sie hat den Inhalt Kostenträger und die Summe von Saldo. In dem Pivot-Element grenze ich noch ein paar Kriterien aus, formatiere die Zahlen um und benenne das entstandene neue Arbeitblatt um.
Ende der Ansage!
Beim Ausführen stoppt das Makro an der gekennzeichneten Stelle.
Weiß jemand, wo das Problem liegt?
Gruss
Ines
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Daten Kosten'!R1C1:R306C19").CreatePivotTable TableDestination:="", _
TableName:="PivotTable4", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable4").AddFields RowFields:="Kost2"
ActiveSheet.PivotTables("PivotTable4").PivotFields("Saldo").Orientation = _
xlDataField
Range("A4").Select
Range("B5").Select
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Summe von Saldo")
.NumberFormat = "#.##0,00"
End With
Range("A3").Select
ActiveSheet.PivotTables("PivotTable4").ColumnGrand = False
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Kost2")
.PivotItems("999").Visible = False
End With
Problem an dieser Stelle!!!!!
-->
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Pivot Kosten"
Range("D22").Select
Sheets("Pivot Kosten").Select
ActiveWorkbook.Sheets("Pivot Kosten").Tab.ColorIndex = 3
End Sub
Antwort 1 von Ines
Hallo Excel-Geameinde!
Manche Probleme lösen sich dann auf einmal!
Nun habe ich jedoch noch eine kleine Frage!
Ich lösche in einem Arbeitsschritt meiner Makro´s immer am Ende das Arbeitsblatt mit der Pivot-Tabelle. Beim Komplett-Durchlauf fragt mein Rechner jedesmal, ob ich die Arbeitsmappe wirklich löschen will, was ich dann natürlich will.
Kann man diese Aufforderung ausschalten?
Gruss
Ines
Manche Probleme lösen sich dann auf einmal!
Nun habe ich jedoch noch eine kleine Frage!
Ich lösche in einem Arbeitsschritt meiner Makro´s immer am Ende das Arbeitsblatt mit der Pivot-Tabelle. Beim Komplett-Durchlauf fragt mein Rechner jedesmal, ob ich die Arbeitsmappe wirklich löschen will, was ich dann natürlich will.
Kann man diese Aufforderung ausschalten?
Gruss
Ines
Antwort 2 von coros
Hi Ines,
mit dem Befehl
Application.DisplayAlerts = False
den Du am Anfang Deines Makros einsetzen solltest, wird die Abfrage nicht mehr kommen. Allerdings musst Du am Ende mit dem Befehl
Application.DisplayAlerts = True
die Abfrage wieder einschalten, da sonst dauerhaft keine Fehlermeldungen mehr kommen.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
mit dem Befehl
Application.DisplayAlerts = False
den Du am Anfang Deines Makros einsetzen solltest, wird die Abfrage nicht mehr kommen. Allerdings musst Du am Ende mit dem Befehl
Application.DisplayAlerts = True
die Abfrage wieder einschalten, da sonst dauerhaft keine Fehlermeldungen mehr kommen.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 3 von Ines
Hallo Coros!
Danke für den Tip! Hat super funktionopelt!
Die Probleme nehmen jedoch kein Ende!
Das untenstehende Makro (nur ein Teil)habe aufgenommen!
Wenn ich dieses nun auf Excel 2000 laufen lassen will, erstellt ist es mit XP2002, dann hängt es sich auf.
DefaultVersion???
Wie muss ich da weitermachen. Ich habe versucht, es unter einer älteren Version abzuspeichern, aber das hat nicht gereicht!
Vielleicht fällt Dir ja dazu auch noch was ein.
Gruss
Ines
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Daten Kosten'!R1C1:R306C19").CreatePivotTable TableDestination:="", _
TableName:="PivotTable5", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable5").AddFields RowFields:="Kost2"
ActiveSheet.PivotTables("PivotTable5").PivotFields("Saldo").Orientation = _
xlDataField
...
Antwort 4 von coros
Nabend Ines,
sorry, da kann ich Dir leider auch nicht weiterhelfen. Ich gehe mal stark davon aus, dass in dem Code irgend etwas enthalten ist, was Excel 2000 noch nicht kennt (Versionsbedingt). Was dass aber ist, weiß ich auch nicht. Besser wäre es, das Makro unter Excel 2000 aufzuzeichenen, denn dass ist dann auf jeden Fall auch in neueren Excelversionen lauffähig.
Sorry noch mal, dass ich leider keinen Lösungsweg für Dich habe.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
sorry, da kann ich Dir leider auch nicht weiterhelfen. Ich gehe mal stark davon aus, dass in dem Code irgend etwas enthalten ist, was Excel 2000 noch nicht kennt (Versionsbedingt). Was dass aber ist, weiß ich auch nicht. Besser wäre es, das Makro unter Excel 2000 aufzuzeichenen, denn dass ist dann auf jeden Fall auch in neueren Excelversionen lauffähig.
Sorry noch mal, dass ich leider keinen Lösungsweg für Dich habe.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von Ines
Danke Coros!
Du kannst ja auch nicht alles wissen!
Das beruhigt einen dann ja doch. Ich habe schon gedacht, ich hätte es mit dem Ober-Excel-Guru zu tun. Aber schon beeindruckend, was Du alles drauf hast.
Schöne Grüsse aus Ostfriesland,
Ines
Du kannst ja auch nicht alles wissen!
Das beruhigt einen dann ja doch. Ich habe schon gedacht, ich hätte es mit dem Ober-Excel-Guru zu tun. Aber schon beeindruckend, was Du alles drauf hast.
Schöne Grüsse aus Ostfriesland,
Ines

