27. juni 2010 - 17:00Der er
7 kommentarer og 1 løsning
VBA til ændring af reportfilter i flere pivottabeller over flere ark
jeg har flere ark i excel bestående af flere pivottabeller hver, hvor data hentes fra et data ark i samme mappe.
På et ark indtaster jeg data, som arkiveres og gemmes på data arket, som derefter er fordelt ud på 8 grupper(8 forskellige ark), hvor forskellige pivottabeller fremviser forskellige parametre.. Det jeg ønsker er at kunne skifte alle reportfiltre på alle pivottabeller til næste måned på en gang. Der findes en samlet oversigt, hvor jeg har et felt der angiver hvilken måned det drejer sig om.. Kan VBA ved hjælp af dette felt skifte alle reportfiltre til næste måned..?
Const månedsFelt = "Måned" 'evt. justeres Rem Rapport-måned skiftes - månedsforkortelse anvendes: jan feb mar... Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then '<--- månedsforkortelse findPivot Target End If
MsgBox ("Rapportmåned er skiftet") End Sub Sub findPivot(måned) Dim sh As Worksheet, antal As Byte, pt As PivotTable antal = 0 For Each sh In ActiveWorkbook.Sheets sh.Select For Each pt In ActiveSheet.PivotTables indstilPivot måned, pt.Name Next pt Next sh End Sub Private Sub indstilPivot(måned, pivotNavn) With ActiveSheet.PivotTables(pivotNavn).PivotFields(månedsFelt) For Each m In .PivotItems If LCase(m.Name) = måned Then m.Visible = True Else m.Visible = False End If Next End With End Sub
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.