Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

SlicerCache / Timeline Attribute auslesen

Forumthread: SlicerCache / Timeline Attribute auslesen

SlicerCache / Timeline Attribute auslesen
18.04.2016 11:28:28
Jörg
Hallo Excel-Spezis :)
Ich habe eine Timeline auf einer Pivot liegen. Um das eingegrenzte Datum im Diagrammtitel anzuzeigen, möchte ich gerne .StartDate und .EndDate auslesen (vorerst in eine Zelle schreiben, um das Ergebnis zu kontrollieren).
ThisWorkbook.ActiveSheet.Cells(1, 6) = ActiveWorkbook.SlicerCaches("NativeZeitachse_TagUmfrage").Item.TimelineState.StartDate
Damit bekomme ich leider Laufzeitfehler 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht".
Könnt ihr mir helfen?
Lieben dank im Voraus
Jörg

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: SlicerCache / Timeline Attribute auslesen
20.04.2016 11:54:59
fcs
Hallo Jörg,
ich würde an deiner Stelle die Daten direkt aus dem Pivotbericht ermitteln und nicht über den Datenschnitt/Slicer.
Gruß
Franz
Sub Test_Pivot()
Dim datMin As Date, DatMax As Date
Dim wks As Worksheet
Dim pvTab As PivotTable
Dim pvField As PivotField
Set wks = ActiveWorkbook.Worksheets("Tabelle4")
Set pvTab = wks.PivotTables(1)
Set pvField = pvTab.PivotFields("Datum")
pvTab.RefreshTable
datMin = Application.WorksheetFunction.Min(pvField.DataRange)
DatMax = Application.WorksheetFunction.Max(pvField.DataRange)
End Sub

Anzeige
AW: SlicerCache / Timeline Attribute auslesen
20.04.2016 16:31:10
Jörg
Hi Franz,
sehr gute Idee - hätte ich auch drauf kommen können :D
Vielen Dank!
VG
Jörg
;
Anzeige
Anzeige

Infobox / Tutorial

SlicerCache und Timeline Attribute auslesen in Excel


Schritt-für-Schritt-Anleitung

Um die Attribute einer Timeline in Excel auszulesen, kannst du die SlicerCaches verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei mit einer Pivot-Tabelle, die eine Timeline enthält.

  2. Öffne den VBA-Editor (Alt + F11).

  3. Füge ein neues Modul hinzu (Rechtsklick im Projektfenster > Einfügen > Modul).

  4. Kopiere den folgenden Code in das Modul:

    Sub Auslesen_Timeline()
       Dim startDate As Date
       Dim endDate As Date
    
       startDate = ActiveWorkbook.SlicerCaches("NativeZeitachse_TagUmfrage").Item.TimelineState.StartDate
       endDate = ActiveWorkbook.SlicerCaches("NativeZeitachse_TagUmfrage").Item.TimelineState.EndDate
    
       ' Ergebnisse in Zellen schreiben
       ThisWorkbook.ActiveSheet.Cells(1, 6) = startDate
       ThisWorkbook.ActiveSheet.Cells(2, 6) = endDate
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, um die Start- und Enddaten der Timeline in die Zellen (1,6) und (2,6) zu schreiben.


Häufige Fehler und Lösungen

  • Laufzeitfehler 438: "Objekt unterstützt diese Eigenschaft oder Methode nicht."

    • Lösung: Überprüfe den Namen des SlicerCaches. Achte darauf, dass du den richtigen Namen verwendest, wie im Code angegeben.
  • Kein Datum angezeigt: Wenn die Zellen leer bleiben.

    • Lösung: Stelle sicher, dass die Timeline korrekt mit der Pivot-Tabelle verknüpft ist und dass die Pivot-Tabelle aktualisiert wurde.

Alternative Methoden

Anstatt die SlicerCaches zu verwenden, kannst du auch direkt die Daten aus der Pivot-Tabelle auslesen. Hier ist ein Beispiel, wie du dies tun kannst:

Sub Test_Pivot()
    Dim datMin As Date, datMax As Date
    Dim wks As Worksheet
    Dim pvTab As PivotTable
    Dim pvField As PivotField

    Set wks = ActiveWorkbook.Worksheets("Tabelle4")
    Set pvTab = wks.PivotTables(1)
    Set pvField = pvTab.PivotFields("Datum")

    pvTab.RefreshTable
    datMin = Application.WorksheetFunction.Min(pvField.DataRange)
    datMax = Application.WorksheetFunction.Max(pvField.DataRange)

    ' Ergebnisse in Zellen schreiben
    ThisWorkbook.ActiveSheet.Cells(1, 6) = datMin
    ThisWorkbook.ActiveSheet.Cells(2, 6) = datMax
End Sub

Diese Methode ist besonders nützlich, wenn du eine Pivot-Timeline hast und die Daten direkt aus der Pivot-Tabelle extrahieren möchtest.


Praktische Beispiele

Wenn du eine Timeline in Excel erstellt hast und die Start- und Enddaten auslesen möchtest, kannst du das folgende Beispiel verwenden:

Sub Auslesen_Timeline_Example()
    Dim startDate As Date
    Dim endDate As Date

    ' Angenommener SlicerCache Name
    startDate = ActiveWorkbook.SlicerCaches("MeinSlicerCache").Item.TimelineState.StartDate
    endDate = ActiveWorkbook.SlicerCaches("MeinSlicerCache").Item.TimelineState.EndDate

    ' Ergebnisse ausgeben
    MsgBox "Startdatum: " & startDate & vbCrLf & "Enddatum: " & endDate
End Sub

Passe den SlicerCache-Namen entsprechend deiner Excel-Datei an.


Tipps für Profis

  • Verwende VBA-SlicerCaches: Wenn du regelmäßig mit SlicerCaches in VBA arbeitest, erstelle eine Funktion, um häufige Aufgaben zu automatisieren.
  • Fehlerüberprüfung: Implementiere Fehlerbehandlungsroutinen in deinen VBA-Code, um unerwartete Laufzeitfehler zu vermeiden.
  • Dokumentation: Halte deine VBA-Projekte gut dokumentiert, insbesondere wenn du mit mehreren Slicern und Pivot-Tabellen arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich eine Timeline in Excel erstellen?
Du kannst eine Timeline erstellen, indem du eine Pivot-Tabelle erstellst und dann die Option "Timeline" aus dem Menü "Einfügen" auswählst.

2. Was sind SlicerCaches in Excel?
SlicerCaches sind Sammlungen von Slicern, die es ermöglichen, Daten in Pivot-Tabellen und Tabellen effizient zu filtern und zu steuern. Sie sind besonders nützlich, wenn du mit Pivot-Timelines arbeitest.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der VBA-Code sollte in den meisten modernen Excel-Versionen (ab Excel 2010) funktionieren, die Pivot-Tabellen und Slicer unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige