Anzeige
Archiv - Navigation
1956to1960
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
Inhaltsverzeichnis

Alle Pivots in einer Tabelle auswerten

Alle Pivots in einer Tabelle auswerten
07.01.2024 02:58:28
VikAlex
Moin zusammen,

ich heb ein Makro, das mir in der Historie per Knopfdruck alle Pivots ausgewertet hat.

Die Auswertung sah so aus:
Name der Pivot, bspw: PivotTable1
Source, bspw: Details!S1:S22
Refreshed by: User-Name
Refreshed, bspw: 01.12.2023 08:16
Sheet: Tabellenname
Location, bspw: $A$210:$T$319

Jetzt läuft mein Makro auf einen Fehler und ich kann den Fehler nicht finden.

Makro:
Sub M_Pivots()
Dim pt As PivotTable, s As String
For Each pt In Sheets(1).PivotTables
s = "Name der Pivot-Tabelle:" & vbCrLf & pt.Name
s = s & vbCrLf & vbCrLf & "Verbindung:"
s = s & vbCrLf & pt.PivotCache.Connection & vbCrLf & vbCrLf
s = s & "Sql-String der Pivot-Tabelle:" & vbCrLf & pt.PivotCache.CommandText
d = pt.PivotCache.CommandText
MsgBox s
a = "Der Abfragename lautet: " & Mid(d, 8, WorksheetFunction.Find(".", d) - 8)
MsgBox a
Next pt
Set pt = Nothing
End Sub

Fehler, im Debugger wird markiert:
s = s & vbCrLf & pt.PivotCache.Connection & vbCrLf & vbCrLf

Kann mir jemand bei der Fehlerkorrektur helfen?

Nach einem Update, nutze ich MS Win 11 mit MS Office 2021 Professional Plus - jeweils 64-bit.

Danke und viele Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Alle Pivots in einer Tabelle auswerten
08.01.2024 17:26:42
Yal
Hallo Vik,

man muss davon asugehen, dass eine der Pivottabelle keine Verbidnung hat. Warum auch immer.

Du kannst den Abbruch durch Fehler verhindern, wenn Du den Code fehlertolerant mit "On Error" aufbaust:

Sub M_Pivots()

Dim pt As PivotTable
Dim s() As String

On Error Resume Next
For Each pt In Sheets(1).PivotTables
ReDim s(5) 'neue Definition, dadurch geleert
s(0) = "Name der Pivot-Tabelle:"
s(1) = pt.Name & vbCrLf
s(2) = "Verbindung:"
s(3) = pt.PivotCache.Connection & vbCrLf
s(4) = "Sql-String der Pivot-Tabelle:"
s(5) = pt.PivotCache.CommandText
MsgBox Join(s, vbCrLf)
If Not s(5) = "" Then MsgBox "Der Abfragename lautet: " & Mid(s(5), 8, InStr(1, s(5), ".") - 8)
Next pt
End Sub


VG
Yal
Anzeige
AW: Alle Pivots in einer Tabelle auswerten
09.01.2024 01:11:43
VikAlex
Moin Yal,

besten Dank für die Rückmeldung.

Ich habe mir dienen Code kopiert - eine Fehlermeldung kam dieses mal nicht. Eine tabellarische Auswertung der Pivot-Tabellen leider auch nicht :(.

Excel meldet bei Ausführung:

Name der Pivot-Tabelle: PivotTable36
Verbindung: Sql-String der Pivot-Tabelle

Name der Pivot-Tabelle: PivotTable39
Verbindung: Sql-String der Pivot-Tabelle

Viele Grüße
AW: Alle Pivots in einer Tabelle auswerten
09.01.2024 08:21:06
Yal
Hallo Vik,

eben wie ich es sagte: deine Pivottable haben die Verbindung zu der Quelle verloren, sodass weder Connection noch Commandtext eine Wert zurückliefern.
Für die Neuerstellung der Verbindung kann ich dir nicht helfen.

VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige