Opdatering af pivottabeller med kriterier
Jeg har et problem og jeg synes ikke jeg kan finde andre her på eksperten eller på Google der nævner det.Problemet opstår, når jeg løber alle pivottabeller igennem for at sætte nogle filtre. Hvis et felt findes i pivottabellen, så sætter jeg et filter. Problemet er nu, at der ikke er noget data vist i pivottabellerne; man bliver nød til at åbne et af filtrene manuelt og så trykke ok (uden at ændre noget) og så vises de uden problemer.
Det skal siges, at jeg bruger følgende formel i Name Manageren til at definere dataområdet for pivottabellen:
=OFFSET('AP Pivotdata'!$A$1;0;0;COUNTA('AP Pivotdata'!$A:$A);24)
Nogen der har et forslag?
På forhånd tak.
Hilsen Henrik Larsen
Kode:
For Each ActiveWorksheet In ThisWorkbook.Worksheets
For Each pt In wsActiveWorksheet.PivotTables
For Each pf In pt.PivotFields
If pf.Orientation = xlPageField Then
Select Case UCase(pf.Name)
Case UCase("Company Code")
If InStr(1, UCase(pt.SourceData), "AR") > 0 Then
If ThisWorkbook.Worksheets(Sheet36.Name).Range("InputARCompanyCode") <> "" Then
PivotFieldFilter = ThisWorkbook.Worksheets(Sheet36.Name).Range("InputARCompanyCode")
pf.CurrentPage = PivotFieldFilter
Else
pf.CurrentPage = "(All)"
End If
End If
If InStr(1, UCase(pt.SourceData), "AP") Then
If ThisWorkbook.Worksheets(Sheet36.Name).Range("InputAPCompanyCode") <> "" Then
PivotFieldFilter = ThisWorkbook.Worksheets(Sheet36.Name).Range("InputAPCompanyCode")
pf.CurrentPage = PivotFieldFilter
Else
pf.CurrentPage = "(All)"
End If
End If
Case UCase("Posting period")
If ThisWorkbook.Worksheets(Sheet36.Name).Range("InputPostingPeriod") <> "" Then
PivotFieldFilter = ThisWorkbook.Worksheets(Sheet36.Name).Range("InputPostingPeriod")
pf.CurrentPage = PivotFieldFilter
Else
pf.CurrentPage = "(All)"
End If
End Select
End If
Next pf
Next pt
Next ActiveWorksheet