PDA

Vollständige Version anzeigen : Automatisierte Pivottabelle


Scor3s
09.07.2015, 14:35
Hallo zusammen,

ich komme ohne Hilfe nicht mehr weiter. Ich habe mir ein VBA-Script gebastelt, welches automatisch eine Pivot Tabelle erzeugt. Die dann wie folgt aussieht:
87004

Nun soll sie aber wie folgt aussehen:
87005

Wie kann ich dieses von Excel automatisch erzeugte Summenzeichen (Werte) im Quellcode als Spaltenbeschriftung deklarieren?

Danke und Grüße,
Scor3s

ios707
09.07.2015, 16:12
Mindestens den vorhandenen Code zeigen, ansonsten werden hier im Excel-Forum gerne auf das Wesentliche reduzierte Beispielmappen gerne gesehen.

Scor3s
09.07.2015, 16:20
Danke für die Rückmeldung. Hier der entsprechende Code:

Public Sub CreateKumPivot()
Dim ptCache As PivotCache
Dim ptTable As PivotTable
Dim ptField As PivotField
Dim rngDest, rngSrc As Range
Dim maxRow As Long

' Alle PivotTabellen im Tabellenblatt löschen
DeleteAllPivottabels

maxRow = Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row - 1

Set rngDest = Sheets("PivotKum").Range("A1")
Set rngSrc = Sheets("Daten").Range("A3:AY" & maxRow)

' Erzeugung neuer Pivot
Set ptCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=rngSrc)
Set ptTable = ptCache.CreatePivotTable(TableDestination:=rngDest, TableName:="KumulierteDaten")

With ptTable
' Keine Gesamtergebnisse
.ColumnGrand = False
.RowGrand = False

' Zeilen
.PivotFields("ZeilenÜberschrift").Orientation = xlRowField

' Daten
.AddDataField .PivotFields("Spaltenüberschrift1"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift2"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift3"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift4"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift5"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift6"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift7"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift8"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift9"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift10"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift11"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift12"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift13"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift14"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift15"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift16"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift17"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift18"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift19"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift20"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift21"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift22"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift23"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift24"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift25"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift26"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift27"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift28"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift29"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift30"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift31"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift32"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift33"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift34"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift35"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift36"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift37"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift38"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift39"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift40"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift41"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift42"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift43"), Function:=xlSum
.AddDataField .PivotFields("Spaltenüberschrift44"), Function:=xlSum
End With
End Sub

Grüße

Scor3s
10.07.2015, 11:29
Hat jemand eine Idee?

Scor3s
13.07.2015, 14:05
Hallo,

ich bin über das erstellen eines Makros auf die Lösung gekommen:

ptTable.DataPivotField
.Orientation = xlColumnField
.Position = 1
End With

Grüße