Página 1 de 1

Apagar Dados Tabela Dinâmica VBA

Enviado: 23 Nov 2017 às 14:22
por Handred
Boa tarde,

Fiz uma form para o cliente escolher quais os dados que o mesmo deseja ter no relatório, assim que ele escolhe, a macro limpa a dinâmica atual e depois inclui os campos necessários, conforme macro abaixo.
Código: Selecionar todos
  Sheets("Relatórios").Select
       For Each pvt In ActiveSheet.PivotTables
        For Each pvtfld In pvt.PivotFields
            pvtfld.Orientation = xlHidden
        Next pvtfld
    Next pvt
porém ao chegar no pvtfld.Orientation = xlHidden a macro simplesmente se encerra, sem dar continuidade ao restante.
ele não gera nenhum erro, o problema já é na primeira passagem do For.
Detalhe é que já testei essa planilha em outros 3 Pc's e somente no cliente(para variar) é onde ocorre o erro. a versão dele é compatível, a planilha tem várias complexidades, e aceita tudo, somente nessa hora é que trava.
Alguém me dê uma luz por favor.

Apagar Dados Tabela Dinâmica VBA

Enviado: 29 Nov 2017 às 15:26
por wesleyribeiro123
Handred
Boa tarde,

Amigo, tive alguns problemas semelhantes, porém percebi que algumas versões do Excel, mesmo que compatível com as funções elas necessitam que todas as variáveis utilizadas no projeto estejam declaradas.
Desta forma lhe aconselho fortemente declarar estas 2 variáveis "pvt" e "pvtfld" como representado abaixo no início do teu código:
Código: Selecionar todos
Dim pvt as Variant, pvtfld as Variant
No modelo acima, declaro as 2 como Variáveis, por ser genérico e por não saber quais informações serão armazenadas na mesma, mas se souber e conseguir declarar o tipo correto de cada uma, será até mais assertivo e gastará menos processamento.