Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por SMuralha
Posts
#58235
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.
Você não está autorizado a ver ou baixar esse anexo.
#58259
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é
Você não está autorizado a ver ou baixar esse anexo.
Por SMuralha
Posts
#58260
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
#58272
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é
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord