Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1508to1512
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

PivotTable (OLAP) filtern

PivotTable (OLAP) filtern
24.08.2016 08:49:44
J-E
Hallo liebes Forum,
ich möchte eine bestehende PivotTable automatisch über ein Makro filtern lassen. Das ganze wird dann später in eine Schleife eingebaut, um mehrere Kundensätze in einem Zug auszulesen.
Hier mein aufgezeichnetes Makro:

Sub Cube_filtern()
Range("I4").Select
Selection.Copy
ActiveSheet.PivotTables("PivotTable1").PivotFields("[Kunde].[KD NR].[KD NR]"). _
VisibleItemsList = Array("[Kunde].[KD NR].&[468100]")
End Sub

Die Nummer 468100 ist die Kundennummer aus Zelle I4 auf dem gleichen Tabellenblatt (im Moment der Aufzeichnung).
Wenn das Makro nun ausgeführt wird, wird natürlich nur nach dieser Nummer gefiltert.
Könnt ihr mir bitte sagen, wie ich dieses Filterkriterium dynamisch bekomme, d.h. sich immer der aktuelle Wert genommen wird?
Vielen Dank für eure Hilfe im Voraus!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PivotTable (OLAP) filtern
24.08.2016 10:22:08
ChrisL
Hi
Was bedeutet "aktueller Wert" in Zusammenhang mit einer Kundennummer? Vermutlich würde eine Beispieldatei Klarheit schaffen.
Vielleicht hilft dir folgender Schnipsel:
Array("[Kunde].[KD NR].&[" & Variable & "]")
cu
Chris
AW: PivotTable (OLAP) filtern
24.08.2016 10:28:21
J-E
Hallo Chris,
vielen Dank für deine schnelle Antwort!
Mit "aktuellem Wert" meine ich den Inhalt in "I4", also die Kundennummer, nach der in Pivot gefiltert werden soll.
Du würdest diesen Inhalt (= Filterkriterium) als Variable x deklarieren.
Wäre dann Dim x as string und x = Range("I4").text?
AW: PivotTable (OLAP) filtern
24.08.2016 10:39:38
ChrisL
Hi
Der Datentyp scheint mir ausnahmsweise nebensächlich, da die Nummer schlussendlich als String verwendet wird.
Dim x As Long
oder
Dim x As String
müsste beides gehen.
Vermutlich kannst du aber auch auf die Variable verzichten, versuche mal folgendes:
Array("[Kunde].[KD NR].&[" & Range("I4") & "]")
cu
Chris
PS: Falls die Kundennummer führende Nullen hat, müsste man evtl. noch formatieren.
Anzeige
AW: PivotTable (OLAP) filtern
24.08.2016 11:07:28
J-E
Prima, das läuft schon einmal.
Leider funktioniert es nur bei genauen Übereinstimmungen, d.h. alle 6 Ziffern der Kundennummern müssen in I4 stehen.
Nun kann es vorkommen, dass nur 3 der 6 Ziffern bekannt sind und dort stehen
Kann die PivotTable hier alle Treffer anzeigen, die diese 3er Nummernfolge enthält?
Bisher kommt dann noch folgende Fehlermeldung:
Laufzeitfehler 1004: Das Element konnte im OLAP-Cube nicht gefunden werden.
AW: PivotTable (OLAP) filtern
24.08.2016 11:18:47
ChrisL
Naheliegend wäre eine Wildcard "*" zu verwenden, aber ob dies funktioniert kann ich nicht sagen. Sonst muss ich passen.
Array("[Kunde].[KD NR].&[" & Range("I4") & "*]")
Anzeige
AW: PivotTable (OLAP) filtern
24.08.2016 11:32:48
J-E
Danke für den Tipp - leider löst das den "Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler" aus :-(
AW: PivotTable (OLAP) filtern
24.08.2016 14:23:32
J-E
Ich habe das ganze nun über eine kleine Zwischenablage neben der Pivot gelöst.
Die Daten aus der Pivot werden nun in eine Tabelle kopiert und dort gefiltert. Da funktioniert die Wildcard.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige