2016-05-10 8 views
-1

In meiner Pivot-Tabelle in Excel habe ich ein Feld Liste über das Fälligkeitsdatum einiger Berichte.Excel-Echtzeit-Aktualisierung von Filter

Zum Beispiel 10/5/2016

Mein Problem ist, ich jeden Tag haben, das Datum zu wählen, so dass ich den Bericht Code sehen kann, ich will nicht, dass es diese sein. Was ich will ist, jeden Tag öffne ich die Excel, der Filter wird automatisch von 10/5/2016 bis 05.11.2016.

Welche Funktion/VBA sollte ich verwenden?

Hilft

+0

notieren Sie ein Makro, während Sie Ihren Datumsfilter ändern, dann verwenden Sie den Code innerhalb 'Private Sub Workbook_Open()', um zu laufen, wenn Sie die Datei öffnen und den Filterbereich auf das heutige Datum 'Date()' ändern. Spiele und aktualisiere dann deine Frage mit dem Code, wenn du nicht weiterkommst. –

+0

Blick auf Frage wie diese http://stackoverflow.com/questions/19406979/what-is-a-good-way-to-autorun-macros-upon-open –

+0

Aufnahme eines Makros, Sie meinen, es von 10 zu ändern/5/2016 bis 05.11.2016? Wie wäre es wenn es um den 12/5/2016 geht? – zodiac

Antwort

2

Wenn Sie eine VBA-Lösung wollen, die folgenden auf den Code ThisWorkbook hinzuzufügen.

Private Sub Workbook_Open() 

Dim tDay As Date, pf As PivotField 
tDay = Date 

    Set pf = Sheets("name of worksheet").PivotTables("pivot table name").PivotFields("insert the name of your filter here") 

    pf.ClearAllFilters 
    pf.CurrentPage = tDay 

End Sub 

Ändern Sie den Blattnamen, den Namen der Pivot-Tabelle und den Namen des Filters.

Wenn Sie mehr VBA-Manipulation von Pivot-Tabellen tun müssen, empfehle ich die folgenden http://www.thespreadsheetguru.com/blog/2014/9/27/vba-guide-excel-pivot-tables lesen.

+1

Danke für Ihre Lösung. Es funktioniert 100%! – zodiac

+0

Tim, ich möchte noch etwas fragen. Wie wäre es, ich möchte es mit 2 Tagen aktualisieren? Wenn ich pf.CurrentPage = tDay, pf.CurrentPage = tDay + 1 schreibe, wird nur der Report no von tDay + 1 angezeigt. Gibt es irgendeine Methode, um alle 2 Tage anzuzeigen? – zodiac