Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivot Bericht nur Leer - Felder anzeigen

Pivot Bericht nur Leer - Felder anzeigen
13.01.2009 14:49:00
Karsten
Hallo Liebe Excel Freunde,
Ich möchte gern nach Aktualisierung einer Pivotabelle in einer bestimmen Spalte nur die Leerfelder anzeigen.
Mit dem Macro- Recorder funktioniert das nicht richtig, wenn man dies per Hand durchführt, muss man sich nach der Aktualisierung erst alle Felder anzeigen lassen um dann alle Felder wieder abzuwählen um danach nur die Felder mit der Kennzeichnung "Leer" anzeigen zu lassen. Habt Ihr da eine Idee. .. das zu vereinfachen?
Danke Karsten

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot Bericht nur Leer - Felder anzeigen
13.01.2009 16:48:00
fcs
Hallo Karsten,
leider hat Excel-VBA (Version 2003) eine Macke, wenn es darum geht den Visible-Status der Items eines Pivotfeldes auf True zu setzen bzw. alle Items eines Feldes sichtbarzu machen.
Man kann aber die angezeigten Items per Makro ausblenden.
Du muss also manuell alle Daten anzeigen, kannst aber danach per Makro alle Einträge außer "Leer" ausblenden.
Gruß
Franz

Sub test_Feld_Jan()
'Alle Einträge außer Leereinträge des Feldes "Jan" ausblenden
Call NurLeerePivotFeldEintraege(objPT:=ActiveSheet.PivotTables(1), strPivotFeldName:="Jan")
End Sub
Sub test_Feld_A()
'Alle Einträge außer Leereinträge des Feldes "Jan" ausblenden
Call NurLeerePivotFeldEintraege(objPT:=ActiveSheet.PivotTables(1), strPivotFeldName:="A")
End Sub
Sub NurLeerePivotFeldEintraege(objPT As PivotTable, strPivotFeldName As String)
'strPivotFeldName = Name des Pivot-Feldes des Leereinträge angezeigt werden sollen
'objPT = Pivottabelle die bearbeitet werden soll
Dim objPF As PivotField
Dim objPI As PivotItem
On Error GoTo Fehler
Set objPF = objPT.PivotFields(strPivotFeldName)
Application.ScreenUpdating = False
For Each objPI In objPF.VisibleItems
If objPI.Name  "(Leer)" Then objPI.Visible = False
Next
Fehler:
With Err
If .Number  0 Then
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
End If
End With
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Pivot Bericht nur Leer - Felder anzeigen
13.01.2009 17:57:24
Karsten
Hallo Franz,
leider bleibt er bei der Variablen "NurLeerePivotFeldEintraege" stehen muss man diese vorher noch definieren? Fehler beim Kopilieren Sub oder Funktion nict definiert
Gruß Karsten
AW: Pivot Bericht nur Leer - Felder anzeigen
14.01.2009 11:58:46
fcs
Hallo Karsten,
die Sub "NurLeerePivotFeldEintraege(objPT As PivotTable, strPivotFeldName As String)"
ist die die Sub-Routine, die die eigentliche Aktion ausführt.
Die anderen Subs rufen diese mit den Parametern auf.
Du muss also mindestens folgendes in ein Modul bei dir kopieren:

Sub test_Feld_XYZ()
'Alle Einträge außer Leereinträge des Feldes "XYZ" ausblenden
Call NurLeerePivotFeldEintraege(objPT:=ActiveSheet.PivotTables(1), strPivotFeldName:="XYZ")
End Sub
Sub NurLeerePivotFeldEintraege(objPT As PivotTable, strPivotFeldName As String)
'strPivotFeldName = Name des Pivot-Feldes des Leereinträge angezeigt werden sollen
'objPT = Pivottabelle die bearbeitet werden soll
Dim objPF As PivotField
Dim objPI As PivotItem
On Error GoTo Fehler
Set objPF = objPT.PivotFields(strPivotFeldName)
Application.ScreenUpdating = False
For Each objPI In objPF.VisibleItems
If objPI.Name  "(Leer)" Then objPI.Visible = False
Next
Fehler:
With Err
If .Number  0 Then
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description
End If
End With
Application.ScreenUpdating = True
End Sub


Den Namen des Feldes "XYZ" muss du in der Prozedur "Sub test_Feld_XYZ" entsprechend deiner Pivottabelle anpassen.
Statt "ActiveSheet.PivotTables(1)" kannst du natürlich auch den Tabellennamen in dem die Pivot-Tabelle angelegt ist explizit vorgeben. z.B.:
WorkSheets("Tabelle2").PivotTables(1)
Gruß
Franz

Anzeige
AW: Pivot Bericht nur Leer - Felder anzeigen
15.01.2009 08:46:00
robert
hi karsten,
hätte gerne gewusst, ob mein beitrag vom 13.1.
eventuell in frage kommt
gruß
robert

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige