Página 1 de 1
Atualizar Tabela Dinâmica Sem Botão
Enviado: 26 Ago 2020 às 10:30
por SMuralha
Bom Dia!
Gostaria se possível, que as Tabelas Dinâmicas "Tabela3" e "Tabela4" da planilha anexo, fossem atualizadas automaticamente sem intervenção mecânica, ou seja, Não utilizar as opções já disponíveis no Excel tais como: Atualizar--->Atualizar Tudo.
E que as atualizações das tabelas: "Tabela3" e "Tabela4" fossem de forma automática sempre que houver entrada de dados na "Tabela2".
Desde já Agradeço.
Re: Atualizar Tabela Dinâmica Sem Botão
Enviado: 27 Ago 2020 às 01:15
por AlbertoBraga
Olá
A planilha anexa é uma sugestão para a solução do case.
Criei uma nova aba denominada "Painel_Controle" com as tabelas dinâmicas para Produção Mês e Semanal e respectivamente os gráficos.
Quando a aba "Dados" é desativada, ativa o evento Deactivate() e os comando de atualização das tabelas dinâmicas são executados.
O gráfito de produção diária e atualizado normalmente.
Verifique se atende
Até
Atualizar Tabela Dinâmica Sem Botão
Enviado: 27 Ago 2020 às 08:40
por SMuralha
Bom Dia!
Prezado AlbertoBraga 27 Ago 2020 às 01:15
Muito Obrigado Por Disponibilizar Um Tempo Para Ajudar-me.
Olha.....
A ideia de atualização é essa mesmo, ou seja, sem intervenção mecânica nas Tabelas Dinâmicas: "Tabela3" e "Tabela4".
Porém peço verificar se seria possível integrar sua solução na planilha original.
Desde já agradeço
Atenciosamente
Re: Atualizar Tabela Dinâmica Sem Botão
Enviado: 27 Ago 2020 às 18:57
por AlbertoBraga
Ola
Uma solução possível:
1-Refazer as sua tabelas de geração Mensal e Semanal como Tabela Dinâmicas efetivas.
2-No evento Change da planilha "DADOS" inserir os comandos
Private Sub Worksheet_Change(ByVal Target As Range)
'Atualiza tabelas dinâmicas quando é inseridos novos valores na linha seguinte
'em tabela especifica - tabela2 (colunas A ate H)
Dim V_Ctlin As Integer
Dim V_Inter As Range
V_Ctlin = ActiveSheet.[tabela2].Rows.Count + 4
Set V_Inter = Application.Intersect(Range(Cells(V_Ctlin, 1), Cells(V_Ctlin, 8)), Target)
If Not V_Inter Is Nothing Then
Worksheets("DADOS").PivotTables("Tabela dinâmica1").PivotCache.Refresh
Worksheets("DADOS").PivotTables("Tabela dinâmica2").PivotCache.Refresh
End If
End Sub
Estes comandos irão atualizar as tabelas dinâmicas no caso 1 e 2 para qualquer alteração na ultima linha da tabela de dados.
Não considera alterações em linhas já existentes, se você quiser em qualquer linha ou coluna da planilha dados e só alterar o escopo da interseção, mas poderá comprometer o desempenho.
Acho que é uma solução inicial que pode ser melhorada.
A sugestão anterior visou, que é melhor separar a planilha de dados das planilhas de analise, assim você tem mais flexibilidade em todos os sentidos.
Até