Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Pivotvariable mit vba erzeugen?

Pivotvariable mit vba erzeugen?
16.08.2007 17:19:51
Jan
Moin liebe Experten,
mit meinen mehr als bescheidenen VBA Kenntnissen, versuche ich derzeit (mehr schlecht als recht) die Variablen im Datenfeld einer Pivottabelle so zu erzeugen, dass die Variablennamen im Datenbereich veränderbar bleiben.
Die Überschriften in den Rohdaten der Pivottabelle (welche ja die Variablen in der Pivottabelle selbst ergeben) können sich ändern. Wenn ich in einer tabelle die Variable z.B. Land1 habe und sie verändert sich auf Land2 führt das dazu, dass die Variable Land1 aus dem Datenbereich meiner Pivottabelle verschwindet und manuell wieder eingefügt werden muss.
Das muss ich irgendwie ändern.
Mein Ansatz ist der hier...
Dim test As Range
Set test = ActiveSheet.Range("j13")
ActiveSheet.PivotTables("PivotTable1").RefreshTable
With ActiveSheet.PivotTables("PivotTable1").PivotFields(test)
.Orientation = xlPageField
.Position = 1
End With
In j13 habe ich den neuen Variablennamen aus den Rohdaten.
Ich habe versucht, j13 als test zu definieren sodass ich diesen Wert weiter unten "PivotFields(test)" als neuen Wert in die Pivottabelle übernehmen kann.
Da das nicht funktioniert und da so etwa mein VBA Horrizont schon lange überschritten ist, brauche ich Eure Hilfe.
Gruß
Jan
p.s.: wenn diese paar VBA Zeilen kompletter Quatsch sind, bitte nicht so laut lachen. VBA ist für mich Neuland.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivotvariable mit vba erzeugen?
16.08.2007 23:58:00
fcs
Hallo Jan,
da Pivottabellen unter VBA nicht so ganz einfach zu händeln sind lache ich besser nicht.
Folgende Lösung kann ich anbieten, wobei es 2 Varianten gibt, wie man die Felder der Pivottabelle festlegt.
Dabei müssen nach dem Wegfallen eines Feldnamens alle Name erneut festgelegt werden. Es gibt jedoch auch eine Variante, die neue Namen zue vorhandenen Pivot-Tabelle hinzufügt (wird über Parameter "AddToTable" festgelegt).
Die Variante mit den Nummern bietet sich dann an, wenn sich der Spaltenaufbau der Datenquelle nicht ändert, sondern nur die Spaltentitel/Feldnamen.
Gruß
Franz

Sub PivottabelleAktualisieren()
' PivottabelleAktualisieren Makro
Dim PivotTabelle As PivotTable
Dim wksPivot As Worksheet, Test As String
Set wksPivot = Worksheets("Tabelle1") 'Name der Tabelle mit dem Pivot-Tabellenbericht
'  Set wksPivot = ActiveSheet
'Statt der Nr. kann in der nächsten der Name auch in Anführungszeichen angegeben werden
Set PivotTabelle = wksPivot.PivotTables(1)
With PivotTabelle
.RefreshTable
'Datenfelder und deren Reihenfolge in Pivottabelle neu festlegen.
'Nr entspricht der Spalte in Datenquelle
.AddFields RowFields:=Array(.PivotFields(2), .PivotFields(3)), _
ColumnFields:=Array(.PivotFields(5), .PivotFields(4)), _
PageFields:=Array(.PivotFields(1))
'Variante mit Feldnamen, wobei ein Name variabel  via Variable festgelegt wird
Test = wksPivot.Range("H1")
.AddFields RowFields:=Array("Test1", "Test2"), _
ColumnFields:=Array("Test6", Test), _
PageFields:=Array("Nr")
End With
End Sub


Anzeige
AW: Pivotvariable mit vba erzeugen?
20.08.2007 10:56:49
Jan
Danke Franz,
ich werde das gleich mal ausprobieren.
Gruß
Jan

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige