Pivottabelle mit Makro ansprechen: Laufzeitfehler 5

16/06/2008 - 10:34 von Jürgen Dietze | Report spam
Excel 2007

Hallo zusammen,
ich habe ein Problem, bei dem ich nicht weiterkomme:

Ich möchte per Makro den Wert eines Seitenfeldes einer Pivottabelle auf das
aktuelle Datum setzen. Das aktuelle Datum ist in jedem Fall Bestandteile der
Datenquelle. Auch das Dtumsformat stimmt überein. Trotzdem erhalte ich den
Laufzeitfehler 5:

With ThisWorkbook
.Worksheets("Liste für
Caterer").PivotTables("PivotTable1").PivotCache.Refresh
.Worksheets("Liste für
Caterer").PivotTables("PivotTable1").PivotFields("Bestelldatum").CurrentPage
= Format(Date, "dd.MM.YYYY")
End With

Auch wenn ich vorher das Tabellenblatt aktiviere und eine Zelle, die
Bestandteil der Pivottabelle ist, selektiere, erhalte ich den gleichen Fehler:

...
.Worksheets("Liste für Caterer").activate
.Worksheets("Liste für Caterer").range("B4").select
...

Auch das Setzen des Datums über eine Variable habe ich probiert:

Dim Tagesdatum as String
Tagesdatum = format(date, "dd.MM.YYYY")

Ändert nichts am Problem.

Dann habe ich mal ein Makro aufgezeichnet und geschaut, was dabei heraus
kommt:

Sheets("Liste für Caterer").Select

ActiveSheet.PivotTables("PivotTable1").PivotFields("MenüDatum").ClearAllFilters

ActiveSheet.PivotTables("PivotTable1").PivotFields("Bestelldatum").CurrentPage _
= "1606.2008"

Der Unterschied ist lediglich, dass ich das Quellfeld "Menüdatum" in der
Pivottabelle als "Bestelldatum" anzeigen lasse.

Also zusammengefasst noch einmal meine konkrete Frage:
Wie setze ich den Wert eines Berichtsfilters einer Pivottabelle auf ein
bestimmtes Datum?

Ich hoffe auf eure Hilfe!

Gruß
Jürgen Dietze
 

Lesen sie die antworten

#1 Thomas Ramel
17/06/2008 - 07:02 | Warnen spam
Grüezi Jürgen

Jürgen Dietze schrieb am 16.06.2008

Ich möchte per Makro den Wert eines Seitenfeldes einer Pivottabelle auf das
aktuelle Datum setzen. Das aktuelle Datum ist in jedem Fall Bestandteile der
Datenquelle. Auch das Dtumsformat stimmt überein. Trotzdem erhalte ich den
Laufzeitfehler 5:

With ThisWorkbook
.Worksheets("Liste für
Caterer").PivotTables("PivotTable1").PivotCache.Refresh
.Worksheets("Liste für
Caterer").PivotTables("PivotTable1").PivotFields("Bestelldatum").CurrentPage
= Format(Date, "dd.MM.YYYY")



Wie schaut es aus, wenn Du alles sauber mit den englischen Datums-Literalen
schreibst?

= Format(Date, "dd.mm.yyyy")


Und der Name der PT stimmt überein?


Auch das Setzen des Datums über eine Variable habe ich probiert:

Dim Tagesdatum as String
Tagesdatum = format(date, "dd.MM.YYYY")

Ändert nichts am Problem.

Dann habe ich mal ein Makro aufgezeichnet und geschaut, was dabei heraus
kommt:

Sheets("Liste für Caterer").Select

ActiveSheet.PivotTables("PivotTable1").PivotFields("MenüDatum").ClearAllFilters

ActiveSheet.PivotTables("PivotTable1").PivotFields("Bestelldatum").CurrentPage _
= "1606.2008"

Der Unterschied ist lediglich, dass ich das Quellfeld "Menüdatum" in der
Pivottabelle als "Bestelldatum" anzeigen lasse.

Also zusammengefasst noch einmal meine konkrete Frage:
Wie setze ich den Wert eines Berichtsfilters einer Pivottabelle auf ein
bestimmtes Datum?



Mit dem Muster deines aufgezeichneten Codes müsste es klappen, wenn der
Datums-String exakt übereinstimmt.


Mit freundlichen Grüssen
Thomas Ramel

- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps

Ähnliche fragen