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

Pivot-Tabelle Filtern

Forumthread: Pivot-Tabelle Filtern

Pivot-Tabelle Filtern
27.04.2019 00:28:11
Olga
Hallo,
ich möchte eine Pivot-Tabelle filtern.
Leider funkt`s nicht!
Sub Namen_auswählen()
Dim Pivot_Item As PivotItem
Dim sName As String
sName = "Name 1"
With ActiveSheet.PivotTables("Muster").PivotFields("Artikel")
For Each Pivot_Item In .PivotItems
Pivot_Item.Visible = True
Next
.PivotItems("(blank)").Visible = False
End With
With ActiveSheet.PivotTables("Muster").PivotFields("Name")
For Each Pivot_Item In .PivotItems
'            If .PivotItems(sName) = sName Then
If .PivotItems(sName)  "" Then
Pivot_Item.Visible = True
Else
.Pivot_Item.Visible = False
End If
Next
End With
End Sub
Danke, für jede Hilfe!
Gruß
Olag
https://www.herber.de/bbs/user/129428.xlsm
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gelöst
27.04.2019 08:16:32
Olga
Hallo,
so funktioniert es!
Sub Namen_auswählen()
Dim Pivot_Item As PivotItem
Dim i As Integer
Dim sName As String
sName = "Name 5"
With ActiveSheet.PivotTables("Muster").PivotFields("Artikel")
For Each Pivot_Item In .PivotItems
Pivot_Item.Visible = True
Next
.PivotItems("(blank)").Visible = False
End With
With ActiveSheet.PivotTables("Muster").PivotFields("Name")
For i = 1 To .PivotItems.Count
.PivotItems(i).Visible = True
Next i
For i = 1 To .PivotItems.Count
If .PivotItems(i).Visible = True And .PivotItems(i)  sName Then
.PivotItems(i).Visible = False
End If
Next i
End With
End Sub

Anzeige
AW: gelöst
27.04.2019 09:45:11
Luschi
Hallo Olga,
ich mache das so:

Sub Namen_auswählen()
Dim Pivot_Item As PivotItem
Dim sName As String, ok As Boolean
sName = "Name 1"
With ActiveSheet.PivotTables("Muster").PivotFields("Artikel")
.ClearAllFilters
.PivotItems("(blank)").Visible = False
End With
With ActiveSheet.PivotTables("Muster").PivotFields("Name")
For Each Pivot_Item In .PivotItems
Pivot_Item.Visible = Pivot_Item.Name = sName
Next
End With
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: gelöst
27.04.2019 11:53:09
Olga
Hallo Luschi,
mit dem gelöst habe ich mich getäuscht.
Das Problem ist wenn ich in "A1" den zu filterden Namen eingebe funktioniert es, wenn aber wieder alle eingeblendet werden sollen kommt eine Fehlermeldung.
Wie kann ich es erreichen "(Alle anzeigen)" ohne Fehlermeldung!
Danke!
Gruß
Olga
https://www.herber.de/bbs/user/129429.xlsm
Anzeige
AW: gelöst
27.04.2019 14:51:38
Luschi
Hallo Olga,
ich mache das immer so:
ActiveSheet.PivotTables("Muster").PivotFields("Name").ClearAllFilters
Gruß von Luschi
aus klein-Paris
AW: gelöst
27.04.2019 20:43:39
Olga
Hallo Luschi,
Danke Dir!
Gruß
Olga

Forumthreads zu verwandten Themen

Anzeige
Anzeige