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
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
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
Synes godt om
Ny brugerNybegynder
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.