Supportnet / Forum / Tabellenkalkulation
Formatierte Pivot-Tabelle per Makro kopieren
Frage
Hallo Leute!
Ich habe da mal wieder ein Problem!
Ich bilde aus einer Daten-Tabelle eine Pivot-Tabelle. Die Zahlen formatiere ich auf 2 Nachkommastellen und Tausender-Trennzeichen.
Wenn ich die Tabelle per Makro kopiere und in ein neues Arbeitsblatt kopiere, ist die Formatierung weg!
Ich erhalt Zahlen mit mind. 4 weiteren Nachkommazahlen (5519,970000).
Was muss ich einfügen, damit die Formatierung nicht verloren geht!
Danke schon mal jetzt!
Gruss
Ines
Antwort 1 von coros
Moin,
da ist ja die Ines mal wieder mit Ihren Privottabellen. ;-)
Es wäre aber sicherlich hilfreich gewesen, wenn Du den Code, mit dem Du die Tabelle kopierst, hier mal eingefügt hättest. Ein Möglichkeit wäre z.B. mit dem Code
Range("A1").PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False
alles zu kopieren, also auch die Formatierung. Vesuch das mal. Wenn's nicht funktioniert oder nicht das richtige ist, dann melde Dich noch mal.
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.
da ist ja die Ines mal wieder mit Ihren Privottabellen. ;-)
Es wäre aber sicherlich hilfreich gewesen, wenn Du den Code, mit dem Du die Tabelle kopierst, hier mal eingefügt hättest. Ein Möglichkeit wäre z.B. mit dem Code
Range("A1").PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False
alles zu kopieren, also auch die Formatierung. Vesuch das mal. Wenn's nicht funktioniert oder nicht das richtige ist, dann melde Dich noch mal.
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 2 von powder
Hallo Ines,
da ich hier auch des öfteren mit Pivottables arbeite kann ich Probleme mit denen Nachvollziehen.
Da du dich ja mit VBA auszukennen scheinst, empfehle ich dir einfach bei deinem Table einmal die Formatierungen von Hand forzunehmen und das ganze als Makro aufzuzeichnen. Dann erhält man schon einen recht vernünftigen Code, welchen man mit ein wenig VBA-Kenntnissen und der Hilfe gut anpassen kann.
Damit kannst dann den Table immer schnell Formatieren. Klingt einfach ist es auch und hat bei mir suuper funktioniert.
Wenns doch noch Probleme gibt wäre der Code wirklich hilfreich, und dann sehen wir weiter. (Also postings nur mit betreffenden Code wenn vorhanden, Bitte)
Grüße Tino
da ich hier auch des öfteren mit Pivottables arbeite kann ich Probleme mit denen Nachvollziehen.
Da du dich ja mit VBA auszukennen scheinst, empfehle ich dir einfach bei deinem Table einmal die Formatierungen von Hand forzunehmen und das ganze als Makro aufzuzeichnen. Dann erhält man schon einen recht vernünftigen Code, welchen man mit ein wenig VBA-Kenntnissen und der Hilfe gut anpassen kann.
Damit kannst dann den Table immer schnell Formatieren. Klingt einfach ist es auch und hat bei mir suuper funktioniert.
Wenns doch noch Probleme gibt wäre der Code wirklich hilfreich, und dann sehen wir weiter. (Also postings nur mit betreffenden Code wenn vorhanden, Bitte)
Grüße Tino
Antwort 3 von Ines
Moin Coros!
Tja, täglich grüßt das Murmeltier!
Also hier mal mein Makro. Es handelt sich um einen Ausschnitt, der sich leicht abgewandelt mehrfach wiederholt!
Gruss Ines
Sheets("Daten Kosten").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Daten Kosten'!R1C1:R306C19").CreatePivotTable TableDestination:="", _
TableName:="PivotTable9", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable9").ColumnGrand = False
ActiveSheet.PivotTables("PivotTable9").AddFields RowFields:=Array( _
"KoSt-Gruppen-Bezeichnung", "KoSt-Bezeichnung")
ActiveSheet.PivotTables("PivotTable9").PivotFields("Saldo").Orientation = _
xlDataField
With ActiveSheet.PivotTables("PivotTable9").PivotFields( _
"KoSt-Gruppen-Bezeichnung")
.PivotItems("Gebäude").Visible = False
.PivotItems("Personalaufwand").Visible = False
.PivotItems("Verw./ GF").Visible = False
.PivotItems("Marketing").Visible = False
.PivotItems("Museumspädagogik").Visible = False
.PivotItems("Malschule").Visible = False
.PivotItems("Verm. Immobilien").Visible = False
End With
With ActiveSheet.PivotTables("PivotTable9").PivotFields("Summe von Saldo")
.NumberFormat = "#.##0,00"
End With
ActiveSheet.PivotTables("PivotTable9").PivotSelect "", xlDataAndLabel, True
Selection.Copy
Windows("Modul 2 Auswertungen.XLS").Activate
Sheets("Wiss. Abt.").Select
i = Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 1).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Windows("Modul 1.XLS").Activate
Sheets("Tabelle1").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
Tja, täglich grüßt das Murmeltier!
Also hier mal mein Makro. Es handelt sich um einen Ausschnitt, der sich leicht abgewandelt mehrfach wiederholt!
Gruss Ines
Sheets("Daten Kosten").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Daten Kosten'!R1C1:R306C19").CreatePivotTable TableDestination:="", _
TableName:="PivotTable9", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable9").ColumnGrand = False
ActiveSheet.PivotTables("PivotTable9").AddFields RowFields:=Array( _
"KoSt-Gruppen-Bezeichnung", "KoSt-Bezeichnung")
ActiveSheet.PivotTables("PivotTable9").PivotFields("Saldo").Orientation = _
xlDataField
With ActiveSheet.PivotTables("PivotTable9").PivotFields( _
"KoSt-Gruppen-Bezeichnung")
.PivotItems("Gebäude").Visible = False
.PivotItems("Personalaufwand").Visible = False
.PivotItems("Verw./ GF").Visible = False
.PivotItems("Marketing").Visible = False
.PivotItems("Museumspädagogik").Visible = False
.PivotItems("Malschule").Visible = False
.PivotItems("Verm. Immobilien").Visible = False
End With
With ActiveSheet.PivotTables("PivotTable9").PivotFields("Summe von Saldo")
.NumberFormat = "#.##0,00"
End With
ActiveSheet.PivotTables("PivotTable9").PivotSelect "", xlDataAndLabel, True
Selection.Copy
Windows("Modul 2 Auswertungen.XLS").Activate
Sheets("Wiss. Abt.").Select
i = Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 1).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Windows("Modul 1.XLS").Activate
Sheets("Tabelle1").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete

