Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

PivotCache ändern externe Datenquelle

Betrifft: PivotCache ändern externe Datenquelle von: Sebastian Brückmann
Geschrieben am: 21.10.2020 15:14:44

Hallo Leute,
ich bin noch nicht so lange mit VBA dabei, aber am verzweifeln mit folgendem Problem:

Ich möchte die Datenquelle einer Pivot mit Makro ändern. Bei der Quelle handelt es sich um eine externe Datei, nämlich eine Exceldatei. Und genau diesen Pfad dieser externen Datei muss ich ändern.

Folgendes klappt hervorragend um mir den aktuellen Pfad der Datenquelle anzeigen zu lassen (für den Code benötigt ihr eine Pivot in irgendeinem Worksheet, und die muss eine externe Datenquelle haben):

Sub ShowActualSourcePath()
    Dim pvtCache As PivotCache
    Set pvtCache = Application.ActiveWorkbook.PivotCaches.Item(1)
    MsgBox pvtCache.SourceDataFile
End Sub
Was einfach nicht klappt ist das Verändern der SourceDataFile (im Folgenden ist nur die 3. Zeile geändert):
Sub ShowActualSourcePath()
    Dim pvtCache As PivotCache
    Set pvtCache = Application.ActiveWorkbook.PivotCaches.Item(1)
    pvtCache.SourceDataFile = "C:\Ordner\NeueDatenquelle.xls"
End Sub
Dabei kommt der Fehler: "Fehler beim Kompilieren. Falsche Anzahl an Argumenten oder ungültige Zuweiseung zu einer Eigenschaft".

Für Hilfe wäre ich äußerst dankbar!!! Liebe Grüße

Betrifft: AW: PivotCache ändern externe Datenquelle
von: EtoPHG
Geschrieben am: 21.10.2020 15:45:06

Hallo Sebastian,

Das ist eine Eigenschaft, die du nicht ändern kannst. Ein Cache ist ein Abbild (im Speicher) eines 'langsameren' Datenobjekts, in diesem Fall einer PivotTable.
Du musst die Eigenschaft der PivotTable.SourceData ändern. Nach eine .Refresh der PivotTable ändert sich automatisch auch die des zugehörigen PivotCache.

Gruess Hansueli

Betrifft: AW: PivotCache ändern externe Datenquelle
von: Sebastian
Geschrieben am: 21.10.2020 18:27:35

Danke für deine Antwort Hansueli!
Ich habe nun:
Sub ChangeSourceData()
    Worksheets("RECHNUNG").PivotTables("ptListe").SourceData = _
       "C:\Ordner\NeueDatenquelle.xls"
End Sub
versucht, leider ohne Erfolg, aber mit Error...

Betrifft: AW: PivotCache ändern externe Datenquelle
von: EtoPHG
Geschrieben am: 21.10.2020 19:12:16

Hallo Sebastian,

Schön für Dich. Und was soll ich jetzt damit anfangen?
Ich sehe keine Datei.
Ich sehe einen Code, der funktionieren könnte.
Ich sehe nicht deinen Filestrukturen.
Ich sehe keine Fehlermeldung.

Gruess Hansueli

Beiträge aus dem Excel-Forum zum Thema "PivotCache ändern externe Datenquelle"