Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

HILFE! - Lokalen Pivot-Bezug per Makro ändern

HILFE! - Lokalen Pivot-Bezug per Makro ändern
07.03.2007 15:01:42
Michael

Liebe Profis!
Ich habe ein paar Files, die sich per Makro automatisch duplizieren und sich im Monatsrythmus umbenennen. Das klappt alles wunderbar, bis auf ein File mit 2 Pivottabellen. Der Bezugsbereich der Pivottabellen ist zwar lokal definiert, also z.B. 'März.07!pivot1' usw., trotzdem wird der Bereich nicht als 'pivot1' übernommen, sondern als 'März.07!pivot1', weshalb ich diese Bezüge im Pivotmenü manuell ändern muss. Da ich diese Files demnächst an einen Excel-unkundigen Kollegen weiterreiche, will ich dieses Problem möglichst noch vorher lösen.
Also:
Gibt es eine Möglichkeit, den Vorgang:
Pivottabelle markieren
Assistent öffnen
Einen Schritt zurückgehen
Den Bezug von 'Feb.07!pivot1' in 'März.07!pivot1' ändern
Speichern
irgendwie automatisieren?
Wie gesagt, der relevante Bereich befindet sich immer im gleichen Sheet wie die zu ändernde Tabelle. Und auch der Versuch, den Bereich im Assistenten einfach als 'Pivot1' zu bezeichnen funktioniert zwar, allerdings ändert Excel den Bezug sofort wieder in 'Sheetname!Pivot1'
Ich bin etwas verzweifelt...
Gruss
Michael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: HILFE! - Lokalen Pivot-Bezug per Makro ändern
10.03.2007 21:28:22
Herby
Hallo Michael,
hier ein Makrofragment, das du noch auf deine Tabellen
anpassen musst.
Set pc = ActiveSheet.PivotTables(i).PivotCache
'ActiveWorkbook.PivotCaches(1).Refresh
If pc.SourceType = 1 Then ' Datenquelle ist dann eine Datenbank in der Exceltablle
Dateiname = InputBox("Dateiname: ", "Pivottabellen-Quelle", "QuellDateiName.xls")
Quelle = ThisWorkbook.Path & "\" & Dateiname
pc.SourceData = "'" & Quelle & "'!Tierarten" ' Tierarten ist der Bereichsname in der Quelldatei-anpassen
MsgBox pc.SourceData ' zeigt den Quellbereich an
pc.Refresh ' aktualisiert den Pivotcache
End If
Viele Grüße
Herby
Anzeige
AW: HILFE! - Lokalen Pivot-Bezug per Makro ändern
12.03.2007 09:16:10
Michael
Danke für die Antwort. Leider stösst er hier:
If pc.SourceType = 1
den Fehler 438 'wird nicht unterstützt' aus und ich habe keine Ahnung, woran dass liegen könnte.
Irgendeine Idee?
Gruss
Michael
AW: HILFE! - Lokalen Pivot-Bezug per Makro ändern
12.03.2007 22:02:17
Herby
Hallo Michael,
ich hab jetzt noch ein bischen getestet und lass mir alles anzeigen:
Sub pivo()
Dim i As Integer
Dim pc As PivotCache
Dim QTyp&
If ActiveSheet.PivotTables.Count > 0 Then
i = InputBox("Welche Pivot-Tabelle wählen Sie aus: ", "Pivottabellen-Info", 1)
MsgBox "Anzahl der Pivot-felder: " & ActiveSheet.PivotTables(i).PivotFields.Count
MsgBox "Name des 1. Pivot-Feldes: " & ActiveSheet.PivotTables(i).PivotFields(1).Name
MsgBox "Name des 2. Pivot-Feldes: " & ActiveSheet.PivotTables(i).PivotFields(2).Name
MsgBox "Name des 3. Pivot-Feldes: " & ActiveSheet.PivotTables(i).PivotFields(3).Name
MsgBox "Anzahl der Ergebnis-Spalten-/Zeilen: " & _
ActiveSheet.PivotTables(i).PivotFields(2).PivotItems.Count _
MsgBox "Inhalt der 1. Ergebniszeile des 2. Pivot-Feldes:  " & _
ActiveSheet.PivotTables(i).PivotFields(2).PivotItems(1).Name _
MsgBox "Inhalt der 2. Ergebniszeile des 2. Pivot-Feldes:  " & _
ActiveSheet.PivotTables(i).PivotFields(2).PivotItems(2).Name _
MsgBox "Inhalt der 3. Ergebniszeile des 2. Pivot-Feldes:  " & _
ActiveSheet.PivotTables(i).PivotFields(2).PivotItems(3).Name _
Set pc = ActiveSheet.PivotTables(i).PivotCache
If pc.SourceType = 1 Then ' Datenquelle ist dann eine Datenbank in der Exceltablle
' Wenn der SourceTyp = 1 dann ist lt. Excelhilfe die Pivotquelle eine Tabelle in der Exceldatei _
'einfach mal abfragen
MsgBox "Typ der Datenquelle (z.B. Extern oder Exceltabelle) : " & pc.SourceType
MsgBox "Bereich aus dem die Pivot-Daten entonmmen werden: " & pc.SourceData ' Benannter _
Bereich in der aktuellen Tabelle _
End If
End If
End Sub

Kann es an der Excelversion liegen ?
Viele Grüße
Herby
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige