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

Aufruf einer Pivot-Tabelle mit variablem Blattname

Aufruf einer Pivot-Tabelle mit variablem Blattname
12.03.2018 21:08:39
reiner
Hallo Leute,
mit folgendem Programmcode erstelle ich eine Pivot-Tabelle:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Buchungen!R4C1:R" & letzteZeile & "C9", Version:=xlPivotTableVersion12). _
CreatePivotTable _
TableDestination:="Tabelle1!R3C1", TableName:="PivotTable1", _
DefaultVersion:=xlPivotTableVersion12

Der detrzeitige Tabellenblattname lautet: „Buchungen“
Nun gibt es mittlerweile mehrere Tabellen mit der Zusatzbezeichnung des Jahrgangs. Z.B.:
„Buchungen 2017“ und „Buchungen 2018“
Ist eine Pivot-Tabelle überhaupt mit variablem Tabellenblattnamen aufrufbar, und wenn wie müsste der Code angepasst werden?
mfg
reiner

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
12.03.2018 23:13:12
Luschi
Hallo reiner,
statt: "Buchungen!R4C1:R" kannst Du doch ActiveSheet.Name & !R4C1:R"
benutzen. Dann ist das aktive Arbeitsblatt gemeint.
Gruß von Luschi
aus klein-Paris
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
12.03.2018 23:44:36
reiner
Luschi, das funktioniert so leider noch nicht
Laufzeitfehler 1004, PivotTable-Quelldatei ... kann nicht geöffnet werden
mfg
reiner
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
13.03.2018 04:35:15
fcs
Hallo Reiner,
Probiere es mal mit:
"'" & ActiveSheet.Name & "'!R4C1:R"

Excel reagiert auf Leerzeichen in Datei-/Blattnamen leicht allergisch.
Gruß
Franz
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
13.03.2018 16:57:13
reiner
hallo Franz, leider funktioniert dein Vorschlag so nicht:
Userbild
Anzeige
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
13.03.2018 20:10:53
Luschi
Hallo Reiner,
dann mach doch mal eine Demodatei, damit man was in der Hand hat und nicht über ungelegte Eier reden müssen.
Gruß von Luschi
aus klein-Paris
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
13.03.2018 20:46:27
reiner
hallo Luschi,
in der mitgesandten Datei habe ich eine abgespeckte Tabelle mit dem Namen "Buchungen" hochgeladen. Bei Betätigung der Schaltfläche wird eien Pivot-Tabelle erstellt.
Wenn ich jedoch den Tabellennamen ändere in z.B. "Buchungen 2018" wird die Pivot-Tabelle nicht erstellt und zeigt eine Fehlermeldung; genau da liegt mein Problem. Die Pivot-Tabelle soll auch erstellt werden wenn sich der Tabellenname ändert; z.Zt. gibt es in der Originaldatei "Buchungen 2017" und "Buchungen 2018". Nächstes Jahr wird es "Buchungen 2019" geben, und die Pivot-Tabellenerstellung soll IMMER funktionieren, egal wie der Tabellenblattname lautet.
https://www.herber.de/bbs/user/120395.xlsm
Anzeige
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
14.03.2018 04:23:51
fcs
Hallo Reiner,
mit den folgenden Anpassungen wird sowohl die Quelle variabel als auch das Einfügen eines Tabellenblatts für den Pivot-Bericht.
Die zusätzlichen Zeilen für Optionen und Formatierungen der einzelnen Pivot-Felder kannst du ja wieder rausschmeißen wenn sie nicht gefallen.
Allerdings solltest du das Feld "Konto-Nummer" nicht im Datenbereich einbauen, sondern in den Zeilenbereich.
Gruß
Franz
Option Explicit
Sub Make_Pivot_Bericht()
Dim wks As Worksheet, wksPivot As Worksheet
Dim pvTab As PivotTable, pvField As PivotField
Dim Zeile_L As Long
Set wks = ActiveSheet
Application.ScreenUpdating = False
Set wksPivot = ActiveWorkbook.Worksheets.Add(After:=wks)
'    wksPivot.Name = "AW " & wks.Name
With wks
Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"'" & .Name & "'!R4C1:R10C" & Zeile_L).CreatePivotTable _
TableDestination:="'" & wksPivot.Name & "'!R3C1"
End With
Set pvTab = wksPivot.PivotTables(1)
ActiveWorkbook.ShowPivotTableFieldList = True 'Kann man weglassen
With pvTab
'        .RowAxisLayout xlOutlineRow 'Gliederungsansicht
.RowAxisLayout xlTabularRow 'Tabellenansicht
Set pvField = .PivotFields("Kontobezeichnung")
With pvField
.Orientation = xlRowField
.Position = 1
.LayoutBlankLine = True 'Leerzeile nach jeder Kontobezeichnung
End With
Set pvField = .PivotFields("Konto-Nummer")
With pvField
.Orientation = xlRowField
.Position = 2
.Subtotals = Array(False, False, False, False, False, False, False, _
False, False, False, False, False)
End With
Set pvField = .PivotFields("Datum")
With pvField
.Orientation = xlRowField
.Position = 3
.Subtotals = Array(False, False, False, False, False, False, False, _
False, False, False, False, False)
End With
Set pvField = .PivotFields("Beleg")
With pvField
.Orientation = xlRowField
.Position = 4
.Subtotals = Array(False, False, False, False, False, False, False, _
False, False, False, False, False)
End With
Set pvField = .PivotFields("Buchungstext")
With pvField
.Orientation = xlRowField
.Position = 5
.Subtotals = Array(False, False, False, False, False, False, False, _
False, False, False, False, False)
End With
Set pvField = .AddDataField(.PivotFields("Betrag"), _
"Summe von Betrag", xlSum)
With pvField
.NumberFormat = "#,##0.00;-#,##0.00;0.00;@"
End With
Set pvField = .AddDataField(.PivotFields("Gesamtsumme"), _
"Summe von Gesamtsumme", xlSum)
With pvField
.NumberFormat = "#,##0.00;-#,##0.00;0.00;@"
End With
End With
With wksPivot
.Columns(3).AutoFit 'Datumsspalte
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Aufruf einer Pivot-Tabelle mit variablem Blattname
14.03.2018 10:51:19
reiner
danke Franz,
das ist die Lösung
mfG reiner

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige