Avatar billede MaxZpaD Guru
18. juni 2012 - 13:03 Der er 1 kommentar

VBA -> Excel -> Pivottabel -> PivotItems.Visible -> Datoer

Problem:

- Kan ikke med VBA-kode vise/skjule de dato-items i page-filteret i en pivottabel, som Excel selv har oprettet f.eks. med navn/caption "<31-12-2009" og ">16-06-2012"

- De øvrige items på filterlisten er årstal, som er dannet ved hjælp af pivottabellens gruppering af datoer

Makro-optageren foreslår selv følgende kode:

PivotTables("MyPivot").PivotFields("MyField").PivotItems("<31/12/2009").Visible = True

men selv denne kode kan ikke afspilles efterfølgende. Der opstår følgende fejl:

"Run-time error '1004':

Kan ikke angive egenskaben PivotItems for klassen PivotField."


Med det "rene" årstal går det uden problemer, f.eks.:

PivotTables("MyPivot").PivotFields("MyField").PivotItems("2009").Visible = True


Problemet løses ikke af at bruge en For Each/Next-løkke. Samme run-time-fejl opstår.

Selve navnet/caption/value "<dd/mm/yyyy" kan sagtens udtrækkes f.eks.:

For Each/Next-løkke med debug.print varPivotItemObject.Name,

så Excel MÅ da opfatte dem som items. Har også prøvet at udskifte dato-separatoren med "-", hvilket heller ikke hjælper.


Er der nogen, som kender en løsning på dette?
Avatar billede H_Klein Novice
15. juli 2012 - 18:03 #1
Hej Max,

Umiddelbart ville jeg gætte på at du skal kigge i det ark hvor du henter data til pivot-tabellen og sikre dig at dato-kolonnen i arket er formatteret som datofelt, for som jeg ser det opstår fejlen ved at vba-kørslen ikke genkender formatet som værende en dato.

Med venlig hilsen

Henrik
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester