Discussion:
Pivot Filter erkennen?
(zu alt für eine Antwort)
Peter Schuerer
2014-04-26 13:55:08 UTC
Permalink
Hallo Zusammen,

XL XP.

Google hat leider nicht geholfen.
Wenn ich in einer Tabelle den "Autofilter" verwende, wird der Pfeil und
die Zeilennummern blau und man erkennt den Filter.
Wie erreicht man das bei einer Pivot?

Meine Spaltenüberschriften stehen in A7 bis G7. Wird in A7 etwas anderes
als (Alle) ausgewählt würde ich das gern kenntlich machen.
Wenn es möglich wäre, prüfen ob in A7 gefiltert wurde, wenn ja dann A6
rot einfärben. Das ganze bis G7.
Für Anregungen bin ich sehr dankbar.

Gruß
Peter
Claus Busch
2014-04-26 15:22:36 UTC
Permalink
Hallo Peter,
Post by Peter Schuerer
Meine Spaltenüberschriften stehen in A7 bis G7. Wird in A7 etwas anderes
als (Alle) ausgewählt würde ich das gern kenntlich machen.
Wenn es möglich wäre, prüfen ob in A7 gefiltert wurde, wenn ja dann A6
rot einfärben. Das ganze bis G7.
probiers mal so:

Sub Test()
Dim i As Long, j As Long
Dim pt As PivotTable

Set pt = ActiveSheet.PivotTables(1)
Range("A8:G100").Interior.Color = xlNone
With pt
On Error Resume Next
For i = 1 To .PivotFields.Count
For j = 1 To .PivotFields(i).PivotItems.Count
If .PivotFields(i).PivotItems(j).Visible = False Then
.PivotFields(i).LabelRange.Interior.Color = vbRed
Exit For
End If
Next
Next
End With
End Sub


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Peter Schuerer
2014-04-26 20:04:58 UTC
Permalink
Hallo Claus (:-)),
Post by Peter Schuerer
Meine Spaltenüberschriften stehen in A7 bis G7. Wird in A7 etwas anderes
als (Alle) ausgewählt würde ich das gern kenntlich machen.
Wenn es möglich wäre, prüfen ob in A7 gefiltert wurde, wenn ja dann A6
rot einfärben. Das ganze bis G7.
Ich möchte irgendwie in A7:G7 kenntlich machen wenn etwas anderes als
"(Alle)" ausgewählt wurde.

Habe es so probiert:

Range("A8:G100").Interior.Color = xlNone habe ich auskommentiert,
Formate sollen erhalten bleiben.

Sub FilterZeigen()
Dim i As Long, j As Long
Dim pt As PivotTable

Set pt = ActiveSheet.PivotTables(1)
'Range("A8:G100").Interior.Color = xlNone Alle Formate werden entfernt!
With pt
On Error Resume Next
For i = 1 To .PivotFields.Count
For j = 1 To .PivotFields(i).PivotItems.Count
If .PivotFields(i).PivotItems(j).Visible = False Then
.PivotFields(i).LabelRange.Interior.Color = vbRed
Exit For
End If
Next
Next
End With
End Sub

Funktioniert auch wunderbar für A7, wird aber (nach Auswahl "(Alle)")
nicht zurück gesetzt. Die Spalten bis G7 werden nicht berücksichtigt.

Ich weiss zwar das es nicht üblich ist, aber darf ich Dir vielleicht
meine Datei schicken (625 Kb)?

Danke und Gruß
Peter
Claus Busch
2014-04-27 06:40:56 UTC
Permalink
Hallo Peter,
Post by Peter Schuerer
Funktioniert auch wunderbar für A7, wird aber (nach Auswahl "(Alle)")
nicht zurück gesetzt. Die Spalten bis G7 werden nicht berücksichtigt.
bei mir sind alle Filter berücksichtigt worden. Du darfst diese erste
Zeile nicht auskommentieren und wenn du die Filter zurücksetzt, musst du
das Makro nochmals laufen lassen.
Post by Peter Schuerer
Ich weiss zwar das es nicht üblich ist, aber darf ich Dir vielleicht
meine Datei schicken (625 Kb)?
Wenn es mit der obigen Erklärung nicht funktioniert bei dir, dann
schicke mir die Datei. Weiß aber nicht, ob ich heute noch Zeit dazu
bekomme.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Peter Schuerer
2014-04-27 20:13:57 UTC
Permalink
Hallo Claus,
Post by Claus Busch
Wenn es mit der obigen Erklärung nicht funktioniert bei dir, dann
schicke mir die Datei. Weiß aber nicht, ob ich heute noch Zeit dazu
bekomme.
ich habe das Makro etwas geändert und es funktioniert fast wie es soll.
Komme nur mit PivotTable nicht zurecht.

Ich schicke Dir einfach mal meine Datei und Du könntest ja mal drüber
sehen, wenn Du Zeit hast (es eilt nicht).

Danke und Gruß
Peter
Claus Busch
2014-04-28 08:10:05 UTC
Permalink
Hallo Peter,
Post by Peter Schuerer
Ich schicke Dir einfach mal meine Datei und Du könntest ja mal drüber
sehen, wenn Du Zeit hast (es eilt nicht).
Mappe müsste wieder bei dir sein.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Lesen Sie weiter auf narkive:
Loading...