AW: kann ich so nicht nachvollziehen ...
11.07.2019 16:09:50
Rainer
Hallo Werner,
Ziel der Übung ist, eben keine Nutzereingaben machen zu müssen und sofort beim Aufruf des Blattes "Pivot" die aktuellen Werte zu sehen.
Das klappt aber eben nicht (oder ich bediene es falsch) mit dem Klick auf "Aktualisieren".
Es fehlt dann:
1. Der Datenbereich wächst und muss überprüft werden
2. Neue Namen werden immer am Ende dargestellt und nicht automatisch alphabetisch sortiert
3. Der Datumsfilter muss jeden Tag neu gesetzt werden, weil keine Heute()-Formel benutzt werden kann
Die 4 Tabellen bestehen auch aus diesem Grund, es muss nichts mehr geklickt werden um andere Informationen zu sehen. Aber um es zu beschleunigen habe ich es so realisiert, dass nun 4 Buttons 1 Pivottabelle nutzen und jeweils den Datumsfilter ändern können.
Sub alle()
Start = "01.01.2000"
Ende = "01.01.3000"
Pivotupdate Start, Ende
End Sub
Sub Bisheute()
Start = "01.01.2000"
Ende = Format(Date - 1, "DD.MM.YYYY")
Pivotupdate Start, Ende
End Sub
Sub NaechsteWoche()
Start = Format(Date, "DD.MM.YYYY")
Ende = Format(Date + 7, "DD.MM.YYYY")
Pivotupdate Start, Ende
End Sub
Sub NaechsterMonat()
Start = Format(Date, "DD.MM.YYYY")
Ende = Format(Date + 28, "DD.MM.YYYY")
Pivotupdate Start, Ende
End Sub
Sub Pivotupdate(Start, Ende)
Application.EnableEvents = False
ThisWorkbook.RefreshAll
Application.EnableEvents = True
LastRow = WorksheetFunction.Max(Sheets("Liste").Range("A:A")) + 1
Datenquelle = "Liste!" & Range("$A$1:$D$" & LastRow).Address(ReferenceStyle:=xlR1C1)
With Sheets("Pivot").PivotTables("PivotTabelle1")
.ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:=Datenquelle, _
Version:=6)
.PivotFields("Zieldatum").ClearAllFilters
.PivotFields("Monate").ClearAllFilters
.PivotFields("Zieldatum").PivotFilters. _
Add2 Type:=xlDateBetween, _
Value1:=Start, _
Value2:=Ende
.PivotFields("Status").ShowDetail = False
.PivotFields("Verantwortlich").AutoSort _
xlAscending, "Verantwortlich"
End With
End Sub
Gruß, Rainer