Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1276to1280
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

VBA Pivot filter visible = true ?

VBA Pivot filter visible = true ?
JensH.
Guten Morgen,
auch heute benötige ich mal wieder ein wenig Nachhilfe, nachdem ich mit meinen Kenntnissen nicht weiter komme.
Vorhanden ist eine Pivottabelle, in der per VBA ein Filter gesetzt werden soll. Leider bietet Exel da scheinbar nur die Möglichkeit gezielt auszublenden. Da die Werte aber variieren können und es eine recht lange Liste ist, war die Idee nur die (wenn vorhanden) 4 benötigten Werte EINZUBLENDEN und alle anderen eben nicht.
Nach Benutzung von Google und dem Suchen in diversen Foren, habe ich etwas von VisibleItemList gelesen, aber nicht kapiert wie das funktioniert. Die Microsoft Hilfe dazu ist auch nicht gerade aufschlussreich gewesen.
Mein Ziel ist hier:
ActiveSheet.PivotTables("PivotTable1").PivotFields("Arbeitspl."). ?
nur die Zeilen anzuzeigen, in denen bei "Arbeitspl." die Werte 103, 104, 106 und 107 vorhanden sind.
Hat dazu jemand eine Idee ?
Gruß
Jens

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

Betreff
Benutzer
Anzeige
AW: VBA Pivot filter visible = true ?
23.08.2012 14:41:04
fcs
Hallo Jens,
das funktioniert leider nur indem man alle Werte einblendet(Filter zurücksetzt) und alle unerwünschten Items ausblendet.
Gruß
Franz
Sub Pivot_Preset_Items()
Dim arrValues As Variant, iIndex As Long, bolVisible As Boolean
Dim pvTab As PivotTable
Dim pvField As PivotField, pvItem As PivotItem
Set pvTab = ActiveSheet.PivotTables(1)
Set pvField = pvTab.PivotFields("Arbeitspl.")
Application.ScreenUpdating = False
pvTab.RefreshTable
pvField.ClearAllFilters
arrValues = Array("103", "104", "107", "108")
For Each pvItem In pvField.VisibleItems
bolVisible = False
For iIndex = LBound(arrValues) To UBound(arrValues)
If pvItem.Name = arrValues(iIndex) Then bolVisible = True: Exit For
Next iIndex
If bolVisible = False Then pvItem.Visible = False
Next pvItem
Application.ScreenUpdating = True
End Sub

Anzeige
AW: VBA Pivot filter visible = true ?
23.08.2012 15:28:50
JensH.
Hallo Franz,
vielen Dank für die Antwort. Ich werde mich nach erfolgreicher Umsetzung noch einmal melden ;-)
Gruß
Jens

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige