Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
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

10 letzten PivotItems aktivieren

10 letzten PivotItems aktivieren
14.01.2015 08:25:15
lee
Hallo zusmmen,
- ich habe eine Excel-Datei mit mehreren Tabellenblätter.
- Jedes Tabellenblatt hat mehrere PivotTabellen.
- Nur einige der PivotTabellen jedes Tabellemblattes enthält
das PivotField "Auftragdat".
- Das PivotItem des PivotField "Auftragdat" hat
Daten in diesem Format: 20150101.
Was ich möchte:
Ich möchte alle PivotTabellen via Schleife durchlaufen und nur die PivotTabellen mit dem PivotField "Auftragdat" auswählen, dann sollen die PivotItems sortiert werden und
die letzten 10 PivotItem des PivotField "Auftragdat" aktiviert werden.
Ich möchte zuerst die letzten 10 PivotItems aktivieren und dann sollen die restlichen Items deaktiviert werden.
Anbei eine Musterdatei: https://www.herber.de/bbs/user/94982.xlsx
Habe mit dem Code angefangen:
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
If pt.PivotFields("AUFTRAGDAT") "" Then
With pt.PivotFields("AUFTRAGDAT")
.AutoSort xlAscending, "AUFTRAGDAT"
End With
End If
Next 'pt
Next 'ws
Hoffe auf die Unterstüzung der Profis.
Danke!
Gruß
lee

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 10 letzten PivotItems aktivieren
14.01.2015 11:10:45
fcs
Hallo Lee,
ein kleines Problem gibt es bei der Anordnung der Pivot-Berichte.
Der Filter für das Feld "AUFTRAGDAT" muss zuerst zurückgesetzt werden, bevor man die Visible-Eigenschaft der älteren Items auf False setzen kann. D.h., zwischen den einzelnen Pivottabellen müssen genug freie Zeilen vorhanden sein, so dass für einen gewählten Typ alle Datumszeilen angezeigt werden können.
Um diesem Problem aus dem Weg zu gehen solltest du die Pivot-Tabs für Typ B1 und B2 Zeile 51 beginnen lassen, die für Typ C1 ab Zeile 101.
Für vorgegebene Tabellenblätter werden dann zunächst jeweils alle Zeilen eingeblendet und nach setzen der Filter werden die Zeilen zwischen den Pivottabellen wieder ausgeblendet.
Gruß
Franz
'Erstellt unter Excel 2010
Sub AUFTRAGDAT_letzte_10()
Dim wks As Worksheet
Dim pvTab As PivotTable
Dim pvField As PivotField
Dim intItem As Integer
Application.ScreenUpdating = False
For Each wks In ActiveWorkbook.Worksheets
'ggf. in Blatt Zeilen einblenden
Select Case wks.Name
Case "quelle", "Tabelle ABC"
'do nothing - keine Zeilen einblenden
Case Else
'alle Zeilen einblenden
wks.Rows.Hidden = False
End Select
For Each pvTab In wks.PivotTables
pvTab.RefreshTable
For Each pvField In pvTab.PivotFields
With pvField
If .Name = "AUFTRAGDAT" Then
If .Orientation = xlRowField Then 'Or .Orientation = xlColumnField Then
.ClearAllFilters  'Filter des Feldes zurücksetzen
.AutoSort Order:=xlAscending, Field:="AUFTRAGDAT"
If .PivotItems.Count > 10 Then
For intItem = .PivotItems.Count - 10 To 1 Step -1
pvField.PivotItems(intItem).Visible = False
Next
End If
End If
Exit For
End If
End With
Next pvField
Next pvTab
'ggf. in Blatt Zeilen ausblenden
With wks
Select Case .Name
Case "quelle", "Tabelle ABC"
'do nothing - keine Zeilen ausblenden
Case "Tabelle4"
.Range(.Rows(15), .Rows(49)).Hidden = True
.Range(.Rows(65), .Rows(99)).Hidden = True
End Select
End With
Next wks
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige