Erro no filtro VBA

Eu tenho um campo de filtro chamado week_of_year (1,2,3,4,5,6,7,8 ....), outro ano do campo pivô (2012,2013,2014), o código vba abaixo do filtro na semana atual e ano de 2014/2015 e oculte todo o resto. Mas o problema é que o código faz um loop em cada registro e fica lento quando se trata de uma grande tabela dinâmica. Estou tentando um novo código, mas encontrei algum erro.

Sub datefilter()
Dim PvtTbl As PivotTable
Set PvtTbl = Worksheets("LO").PivotTables("PivotTable3")
Dim dd As Integer
dd = Format(Date, "ww")
Dim pf As PivotField
Dim pf1 As PivotField
Dim PI As PivotItem
Set pf =              

Worksheets("LO").PivotTables("PivotTable3").PivotFields("week_of_year")
Set pf1 =       
Worksheets("LO").PivotTables("PivotTable3").PivotFields("year")
PvtTbl.ClearAllFilters
For Each PI In pf.PivotItems
 If PI.Name = CStr(dd) Then

    PI.Visible = True
Else
    PI.Visible = False
End If
Next

For Each PI In pf1.PivotItems
 If PI.Name = "2014" Or PI.Name = "2015" Then
    PI.Visible = True
Else
    PI.Visible = False
End If
Next
End Sub

O novo código que eu desenvolvo é:

Sub datefilter1()
Dim PvtTbl As PivotTable
Set PvtTbl = Worksheets("LO").PivotTables("PivotTable3")
Dim dd As Integer
dd = Format(Date, "ww")
Dim pf As PivotField
Set pf =        
Worksheets("LO").PivotTables("PivotTable3").PivotFields("week_of_year")
pf.PivotFilters.Add2 xlValueEquals, 3
End Sub

O código falhou em

pf.PivotFilters.Add2 xlValueEquals, CStr(dd)

Eu também tentei:

pf.PivotFilters.Add2 Type:= xlValueEquals, Value1 := CStr(dd)

O erro é chamada ou argumento inválido do procedimento. Qualquer idéia de como corrigir esse erro ?????

Alguma maneira mais rápida de filtrar por vários critérios de filtro? Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion