Hilfe bei vermutlich einfachem Makro gesucht
06.01.2015 11:46:28
Philipp
ich ziehe täglich eine Liste aus einem Buchhaltungsprogramm und möchte täglich die gleiche Auswertung via Pivot erhalten. Die Beispieltabelle habe ich hochgeladen https://www.herber.de/bbs/user/94776.xls.
Im Pivot-Ergebnis möchte ich wissen, welcher Kunde (Spalte D) in welcher Filiale (Leistung Organisationseinheit) welchen Umsatz (Leistung Element Preis) gemacht hat und wie viele Leistungen er gekauft hat. Das Zahlenformat beim Umsatz soll auf x.xxx formatiert werden.
Bisherige Schritte:
Einfügen Pivot-Tabelle
Felderauswahl
1. Leistung Organisationseinheit
2. Leistung Element Preis
3. Kunde (fufhgfg/Kundü Figkünnfkü)
4. Leistung Element Preis nochmal manuell in die Summenwerte ziehen
Spalte C umformatieren in Zahl mit o Dezimalstellen und 1.000er-Trennzeichen
Spalte D Wertfeldeinstellungen Summe von Leistung Element Preis2 auf Anzahl ändern
Spaltenbreite C und D manuell auf ca. 11px ändern
Ergbenis siehe sheet Pivot1
Lassen sich die Schritte nicht auch irgendwie automatisieren? Meine Makroversuche schlagen fehl mit "Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs :-(
wobei der fett markierte Bereich (ab Zeile 8 "ActiveWorkbook.Worksheets("Pivot1")... "
gelb markiert ist.
Vielen Dank für Eure Hilfe
Philipp Fahrenkrog
Sub Makro2()
' Makro2 Makro
' Tastenkombination: Strg+w
Sheets.Add
ActiveWorkbook.Worksheets("Pivot1").PivotTables("PivotTable2").PivotCache. _
CreatePivotTable TableDestination:="Tabelle3!R3C1", TableName:= _
"PivotTable3", DefaultVersion:=xlPivotTableVersion10
Sheets("Tabelle3").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable3").PivotFields( _
"Leistung Organisationseinheit")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables( _
"PivotTable3").PivotFields("Leistung Element Preis"), _
"Summe von Leistung Element Preis", xlSum
With ActiveSheet.PivotTables("PivotTable3").PivotFields( _
"fufhgfg/Kundü Figkünnfkü")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables( _
"PivotTable3").PivotFields("Leistung Element Preis"), _
"Summe von Leistung Element Preis2", xlSum
With ActiveSheet.PivotTables("PivotTable3").DataPivotField
.Orientation = xlColumnField
.Position = 1
End With
Columns("C:C").Select
Selection.NumberFormat = "#,##0"
Range("D10").Select
With ActiveSheet.PivotTables("PivotTable3").PivotFields( _
"Summe von Leistung Element Preis2")
.Caption = "Anzahl von Leistung Element Preis2"
.
Function = xlCount
End With
Columns("C:D").Select
Selection.ColumnWidth = 10.29
Sheets("Tabelle3").Select
Sheets("Tabelle3").Name = "Ergebnis mit Makro"
End Sub