Achei a solução pessoal!
Reformulei o código: formato a data como padrão norte americano, comparo a data formatada com a da lista do filtro, se existir eu formato a data para o padrão brasileiro e atribuo a data ao filtro.
Adicionei o anexo com o código pronto e funcionando para quem quiser ver, espero que isso ajude o pessoal que precise trabalhar setando datas abreviadas (dd/mm/aaaa) na Tabela Dinamica por VBA.
Código Funcional:
Dim DataFormatada As Date
Dim objPivotField As PivotField
Dim objPivotItem As PivotItem
DataFormatada = Format(Range("$C$2").Value, "m/d/yyyy")
'Esse código funciona perfeitamente para Mês(Ex: Abril), mas para data abreviada (Ex: 01/01/2015) não funciona
Set objPivotField = ActiveSheet.PivotTables("DinamicaData").PivotFields(Index:="Data")
ActiveSheet.PivotTables("DinamicaData").PivotFields("Data").ClearAllFilters
For Each objPivotItem In objPivotField.PivotItems
If objPivotItem.Name = DataFormatada Then
'objPivotItem.Visible = True
DataFormatada = Format(Range("$C$2").Value, "dd/mm/yyyy")
ActiveSheet.PivotTables("DinamicaData").PivotFields("Data").CurrentPage = Range("C2").Value
Else
'objPivotItem.Visible = False
End If
Next objPivotItem
ActiveSheet.ChartObjects("Gráfico 1").Activate
ActiveChart.ChartTitle.Text = "Data - " & Range("$M$2").Value
If ActiveChart.ChartTitle.Text = "Data - (Tudo)" Then MsgBox "Sem dados para os critérios selecionados", vbInformation, "Atenção"
Conte Comigo!
Profissão: Programador VBA Pleno
"Para bom entendedor, meia palavra basta"
Postado : 22/01/2015 6:05 am