Microsoft Excel

Herbers Excel/VBA-Archiv

Pivottabelle: Visible-Eigenschaft eines Feldes

Betrifft: Pivottabelle: Visible-Eigenschaft eines Feldes von: Manni
Geschrieben am: 29.09.2014 16:11:51

Hallo!

ich habe in einer Pivottabelle ein Feld mit Datumsangaben. Dieses ist gruppiert nach Jahren.
Folgende Werte stehen zur Auswahlt:

<01.01.14 [=PivotItems 1]
2014 [=PivotItems 2]
>31.12.14 [=PivotItems 3]

Nun möchte ich gerne die Items 1 und Items 3 ausblenden.
Mache ich das händisch, ist dies kein Problem!!!

In VBA geht die aber nur mit Item2!!??

Der Befehl:
ActiveSheet.PivotTables("PivTab2").PivotFields("Datum").PivotItems(1).Visible = False

löst den Fehler "Run-Time Error '1004': Unable to set the visible property of pivotitem class" aus!

Der Befehl
ActiveSheet.PivotTables("PivTab2").PivotFields("Datum").PivotItems(2).Visible = False
würde hingegen funktionieren!?

Folgende Lösungsvorschläge die ich in den Foren gefunden habe, haben leider keine Lösung gebracht:
Die Tabelle enthält keine alten Cache-Daten
Die Tabelle wurde vorher aktualisiert
Die "Orientation"-Eigenschaft ist 1

Auch der Befehlt
ActiveSheet.PivotTables("PivTab2").PivotFields("Datum").PivotItems("<01.01.14").Visible = False
löst diese Fehlermeldung aus.

Kann mir jemand weiterhelfen? Beispieldatei unter https://www.herber.de/bbs/user/92879.xlsm

(Excel-Version 2010 (auch in der vorhergehenden Version hatte ich dieses Problem))

Vielen Dank
Manfred

  

Betrifft: AW: Pivottabelle: Datums Filter von: fcs
Geschrieben am: 01.10.2014 10:05:30

Hallo Manfred,

du musst mit einem Datumfilter arbeiten. Die <... und >... Gruppenwerte können per Makro nicht ausgeblendet werden. Leider tut sich Excel bei den Filtern für Datumswerte unter VBA mit der deutschen Schreibweise etwas schwer, so dass eine Wertumwandlung eingebaut werden muss.

Makrobeispiel:

'Erstellt unter Excel 2010
Sub PivotFilter2014()
  Call PivotFilterDateBetween(pvField:=ActiveSheet.PivotTables(1).PivotFields("Datum"), _
      datStart:=CDate("2014-01-01"), datEnd:=CDate("2014-12-31"))
End Sub


Public Sub PivotFilterDateBetween(pvField As PivotField, datStart As Date, datEnd As Date)
  pvField.ClearAllFilters
  pvField.PivotFilters.Add Type:=xlDateBetween, Value1:=CLng(datStart), Value2:=CLng(datEnd)
End Sub
Gruß
Franz


  

Betrifft: AW: Pivottabelle: Datums Filter von: Manni
Geschrieben am: 02.10.2014 09:16:08

Hallelujah!!!
VIELEN VIELEN DANK!!!!
Hatte die Hoffnung schon fast aufgegeben. Seit Jahren hat mich dieses Problem gezwungen, das Makro stets zu unterbrechen, händisch den Filter zu setzen und dann wieder weiterlaufen zu lassen.

Manfred


 

Beiträge aus den Excel-Beispielen zum Thema "Pivottabelle: Visible-Eigenschaft eines Feldes"