Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PivotFieldListing in Person.xls schreiben

Forumthread: PivotFieldListing in Person.xls schreiben

PivotFieldListing in Person.xls schreiben
27.05.2008 10:10:34
Andreas
Hallo Herber Fans,
ich habe ein Makro, welches mir die Zeilenfelder einer Pivottabelle auf dem aktiven Sheet ausliest. Das Ergebnis soll in das Blatt „PivotListingsTemp“ geschrieben werden, welches in der Person.xls Datei liegt, die parallel geöffnet ist. Das Makro wird auch aus der Person.xls aufgerufen. Ich bekomme es aber leider nicht hin, daß explizit das Blatt in der Person.xls gewählt wird, um die Captions zu schreiben. Ich bekomme immer die Fehlermeldung „Index außerhalb des gültigen Bereiches.“ Oder muß ich das Blatt erst aktivieren? Activate und Select habe ich gelesen, sind in den meisten Fällen aber nicht notwendig?!
Der Code:

Sub PivotListing()
Dim pvTable As PivotTable
Dim pvField As PivotField
Set pvTable = ActiveSheet.PivotTables(1)
n = 0
For Each pvField In pvTable.RowFields
Workbooks("Person.xls").Worksheets("PivotListingsTemp").Range("A2").Offset(n, 0).Value =  _
pvField.Caption
n = n + 1
Next
End Sub


Wie lautet die korrekte Adressierungszeile, um die Ergebnisse in PivotListingsTemp zu schreiben? Ohne Activate, im Hintergrund.
Vielen Dank für Eure Vorschläge.
Grüße, Andreas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: PivotFieldListing in Person.xls schreiben
27.05.2008 15:08:07
fcs
Hallo Andreas,
meines Wissens heisst die persönliche Makroarbeitsmappe auch in den neueren Excel-Versionen immer noch
Personl.xls.
Im Code fehlt bei dir also ein "L" im Dateinamen.
Außerdem gibt es zumindest in meiner Version (97) die Eigenschaft "Caption" für Pivot-felder noch nicht. Hier ggf. "Name" verwenden.
Gruß
Franz

Sub PivotListing()
Dim pvTable As PivotTable
Dim pvField As PivotField
Set pvTable = ActiveSheet.PivotTables(1)
n = 0
With Workbooks("Personl.xls").Worksheets("PivotListingsTemp")
'vorhanden Daten löschen
.Range(.Cells(2, 2), .Cells(2, 2).End(xlDown)).ClearContents
'Pivot Row-Field-Cptions eintragen
For Each pvField In pvTable.RowFields
.Range("A2").Offset(n, 0).Value = pvField.Name
'        .Range("A2").Offset(n, 0).Value = pvField.Caption
n = n + 1
Next
End With
End Sub


Anzeige
AW: PivotFieldListing in Person.xls schreiben
27.05.2008 16:30:00
Andreas
Hallo Franz,
hust, hust... da war ich heute morgen wohl sehr vernagelt, daß ich das nicht gesehen habe. Du hast natürlich recht. Es läuft jetzt gut druch und ich kann meine Pivotstrukturen auswerten.
Dank und Gruß, Andreas
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige