Olá, recentemente fiz uma macro para alterar dados das tabelas dinâmicas de um Excel, onde mudo o mês das tabelas dinâmicas. Deu super certo, entretanto tenho outros exceis que tem exatamente a mesma estrutura, o único problema é que o nome das tabelas dinâmicas mudam, por exemplo uma que chama "Tabela Dinâmica1", na outro Excel chama "Tabela Dinâmica2", dando dessa forma erro no meu código. Gostaria de saber se teria alguma forma de colocar uma espécie de variável no lugar do nome da tabela dinâmica, para dessa forma não haver conflitos. Até pensei em mudar os nomes das tabelas dinâmicas manualmente para ficarem iguais, porém como são muitas daria muito trabalho.
O código que uso é esse abaixo, colei apenas a parte que está com conflito
"[Data de Referência].[Ano-Mês].[Ano-Mês]").VisibleItemsList = Array( _
"[Data de Referência].[Ano-Mês].&[2.01912E5]", _
"[Data de Referência].[Ano-Mês].&[2.02001E5]")"
Pensei em trocar o "Tabela dinâmica2" por uma variável, porém não funcionou, acredito que não dê para Tabelas Dinâmicas, segue abaixo o teste que fiz mas não funcionou
Pergunta
Luca Giraldes
Olá, recentemente fiz uma macro para alterar dados das tabelas dinâmicas de um Excel, onde mudo o mês das tabelas dinâmicas. Deu super certo, entretanto tenho outros exceis que tem exatamente a mesma estrutura, o único problema é que o nome das tabelas dinâmicas mudam, por exemplo uma que chama "Tabela Dinâmica1", na outro Excel chama "Tabela Dinâmica2", dando dessa forma erro no meu código. Gostaria de saber se teria alguma forma de colocar uma espécie de variável no lugar do nome da tabela dinâmica, para dessa forma não haver conflitos. Até pensei em mudar os nomes das tabelas dinâmicas manualmente para ficarem iguais, porém como são muitas daria muito trabalho.
O código que uso é esse abaixo, colei apenas a parte que está com conflito
"ActiveSheet.PivotTables("Tabela dinâmica2").PivotFields( _
"[Data de Referência].[Ano-Mês].[Ano-Mês]").VisibleItemsList = Array( _
"[Data de Referência].[Ano-Mês].&[2.01912E5]", _
"[Data de Referência].[Ano-Mês].&[2.02001E5]")"
Pensei em trocar o "Tabela dinâmica2" por uma variável, porém não funcionou, acredito que não dê para Tabelas Dinâmicas, segue abaixo o teste que fiz mas não funcionou
Sub Teste()
Dim valorp As Variant
valorp = Array("Tabela dinâmica", "Tabela dinâmica0", "Tabela dinâmica1", "Tabela dinâmica2", "Tabela dinâmica3", "Tabela dinâmica4", "Tabela dinâmica5", "Tabela dinâmica6", "Tabela dinâmica7", "Tabela dinâmica8", "Tabela dinâmica9", "Tabela dinâmica10", "Tabela dinâmica11", "Tabela dinâmica12", "Tabela dinâmica13", "Tabela dinâmica14", "Tabela dinâmica15", "Tabela dinâmica16", "Tabela dinâmica17", "Tabela dinâmica18", "Tabela dinâmica19", "Tabela dinâmica20", "Tabela dinâmica21", "Tabela dinâmica22", "Tabela dinâmica23", "Tabela dinâmica24", "Tabela dinâmica25", "Tabela dinâmica26", "Tabela dinâmica27", "Tabela dinâmica28")
Dim a As Long
For a = 0 To UBound(valorp)
ActiveSheet.PivotTables(valorp(a)).PivotFields( _
"[Data de Referência].[Ano-Mês].[Ano-Mês]").VisibleItemsList = Array( _
"[Data de Referência].[Ano-Mês].&[2.02002E5]")
Next a
End Sub
Desde já agradeço a ajuda!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.