Avatar billede esys Juniormester
20. april 2011 - 07:58 Der er 1 kommentar

Samme pivot kriterier på flere faner

Hej eksperter
Kan man nøjes med at vælge et kriterie til en pivottabel kun en gang og så bliver det automatisk opdateret som kriterie på flere faner?

Baggrund:
Jeg har en Excel rapport med forecast-tal i Pivot-tabeller. Der er flere faner og hver fane har sin kopi af samme pivot-tabel med samme connection mod databasen. Hver fane/pivottabel dækker hver sit eget geografiske område som på hver fane er forudfyldt.

Resultatet er altså en række faner med hver sin pivottabel. Alt fungerer som udgangspunkt fint.

Hver dag dannes der nye forecasttal i databasen og for at opdatere rapporten med de nye tal skal man i dag på hver fane vælge at kigge på de nye tal (vælger det højeste forecast-job-nr for at få seneste tal).

Der er mange faner og dermed skal dette gøres mange steder, hvilket indebærer en højere risiko for fejl.

Jeg kunne tænke mig en "forside" -hvor brugeren fik en inputboks hvor der en gang for alle vælges hvilket forecast nummer osv. man ønsker at kigge på. Herefter en "Update"-knap der "stempler" de valgte kriterier på alle fanerne en gang for alle.

Er der nogen der har forslag til hvordan jeg griber sagen an eller andre forslag?

Jeg er ikke VBA-haj men kan feks oprette makroer osv.

Evt Excel-udviklere er velkommen til at kontakte mig direkte da der sommetider er forespørgsler fra kunder om dette.

Platform: fortrinsvis Excel 2007 på Windows men ellers også Mac
Avatar billede iver_mo Nybegynder
20. april 2011 - 09:25 #1
Nu er det svært at vide hvad du ønsker når du skriver "... hvor der en gang for alle vælges hvilket forecast nummer osv. man ønsker at kigge på. ..."

Understeånde kode loop'er alle ark igennem. For hvert ark loop'er det alle pivottabeller igennem for at opdatere værdierne og sætte værdien af det jeg har indtastet celle A1 i Ark1 som filterværdi for kolonnen tekst2.

Det kræver at man på alle sider allerede har sat tekst2 som rapportfilter på samtlige pivottabeller.

Hvis du altid kun vil se på det nyeste forecast nummer, så vil jeg foreslå noget kode der finder højeste tal i den kolonne og så bruger det som rapportfilter.

Koden:

Sub update_and_filter_pt()

Dim ws As Worksheet
Dim pt As PivotTable
Dim val1 As String
'Dim val2 As String
'Dim val3 As String

val1 = ThisWorkbook.Worksheets("Ark1").Range("A1")
'val2 = ThisWorkbook.Worksheets("navnet på dit forside ark her").Range("navnet på den celle som man indtaster forecast nummer i - fx A1")
'val3 = ThisWorkbook.Worksheets("navnet på dit forside ark her").Range("navnet på den celle som man indtaster forecast nummer i - fx A1")

For Each ws In ThisWorkbook.Worksheets
    For Each pt In ws.PivotTables
        pt.RefreshTable
        pt.PivotFields("tekst2").CurrentPage = val1
        'pt.PivotFields("navnet på pivotfeltet/tabelkolonnen her").CurrentPage = val2
        'pt.PivotFields("navnet på pivotfeltet/tabelkolonnen her").CurrentPage = val3
    Next
Next

End Sub
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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