Usuário com melhor resposta
Atualização de tabelas dinâmicas e filtros

Pergunta
-
Preciso fazer uma macro que atualize 5 tabelas dinâmicas diferentes e após a atualização filtre o valor "1" em um campo da tabela.
A macro que fiz atualiza e filtra na primeira planilha, na segunda dá o seguinte erro:
Erro em tempo de execução '1004':
O método AutoFilter da classe Range falhouSou bem amador criando macros, se alguém puder me ajudar.
Obrigado,
abaixo o código da macro:
Sub Atualizar()
'
'
ActiveSheet.PivotTables("Tabela dinâmica2").PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
Sheets("Miguel").Select
ActiveSheet.PivotTables("Tabela dinâmica3").PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
Sheets("Renata").Select
ActiveSheet.PivotTables("Tabela dinâmica4").PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
Sheets("Tietre").Select
ActiveSheet.PivotTables("Tabela dinâmica5").PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
Sheets("Francisco").Select
ActiveSheet.PivotTables("Tabela dinâmica6").PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
Sheets("Lincoln").Select
End Subquarta-feira, 5 de maio de 2010 00:34
Respostas
-
Perdão,
Segue a versão corrigida:
Sub Atualizar()
On Error Resume Next
For Each ws In ThisWorkbook.Sheets
ws.Select
ActiveSheet.PivotTables(1).PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
Next ws
End Sub
[ ]s
Adilson Soledade - MOS http://adilsonsoledade.blogspot.com/- Marcado como Resposta Fabricioasm quarta-feira, 5 de maio de 2010 11:07
quarta-feira, 5 de maio de 2010 01:52
Todas as Respostas
-
Boa noite,
Experimente este código aqui:
Sub Atualizar()
On Error Resume Next
For Each ws In ThisWorkbook.Sheets
ws.Select
ActiveSheet.PivotTables(1).PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
With ws
Next ws
End Sub
[ ]s
Adilson Soledade - MOS http://adilsonsoledade.blogspot.com/- Sugerido como Resposta adilsonsoledade quarta-feira, 5 de maio de 2010 01:33
- Não Sugerido como Resposta Fabricioasm quarta-feira, 5 de maio de 2010 01:49
quarta-feira, 5 de maio de 2010 01:33 -
Aparece a msg:
Erro de compilação:
Next sem For
[]'s
quarta-feira, 5 de maio de 2010 01:39 -
Perdão,
Segue a versão corrigida:
Sub Atualizar()
On Error Resume Next
For Each ws In ThisWorkbook.Sheets
ws.Select
ActiveSheet.PivotTables(1).PivotCache.Refresh
Selection.AutoFilter Field:=20, Criteria1:=1
Next ws
End Sub
[ ]s
Adilson Soledade - MOS http://adilsonsoledade.blogspot.com/- Marcado como Resposta Fabricioasm quarta-feira, 5 de maio de 2010 11:07
quarta-feira, 5 de maio de 2010 01:52 -
Funcionou perfeitamente, obrigado.
[]'s
quarta-feira, 5 de maio de 2010 11:03