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
#7693
Boa Tarde Galera !

Venho hoje mais uma vez solicitar a ajuda de vcs. Criei um relatório onde para ser feita a atualização de todos os itens apenas basta atualizar as conexões externas e as tabelas dinâmicas.

Mas na macro que criei para que o usuário apenas deu um "Click" faço o seguinte Sub

1. Atualizar todas as conexões Externas
2. Atualizar todas as Tabelas Dinâmicas.

Porém percebi que as tabelas dinâmicas atualizam terminam de serem atualizadas antes das conexões afetando assim a informação. Já criei um loop para atrasar a atualização das dinâmicas mas não resolveu.

Podem me orientar com algo, por favor ?
#7705
Bom dia!!

Como é a rotina que vc está usando, se puder postar seu arquivo modelo.

O comando que atualiza as TD está antes ou depois da parte da rotina que atualiza a externa?



Att
#7718
Bom Dia Ale !

Então a atualização das Dinâmicas está depois da atualização das conexões externas.

Segue o projeto em anexo

Obrigado mais uma vez..

Sub AtualizarBases()

Dim connections As connections
Dim Apoio As Worksheet
Dim Ok As Long


Set Apoio = Sheets("Apoio Acionamentos")
Apoio.Select
Ok = 1


ActiveWorkbook.connections("Canal de Ofertas Ofertas MIS").Refresh
ActiveWorkbook.connections("Canal Expresso").Refresh
ActiveWorkbook.connections("MDR").Refresh
ActiveWorkbook.connections("Projetos Horas Alocadas").Refresh
ActiveWorkbook.connections("Projetos por Pontos Focais 2016").Refresh
ActiveWorkbook.connections("Tbl_Acionamentos_2016").Refresh


Do While Ok <= 100000





Ok = Ok + 1

Loop

Apoio.Range("R1").Value = Ok

Call AtualizaDinamicas














End Sub

Sub AtualizaDinamicas()


'Objeto de tabela dinâmica
Dim pivottable As pivottable

'Loop por todos os objetos da planilha
For Each plan In ActiveWorkbook.Sheets
For Each pivottable In plan.PivotTables
pivottable.RefreshTable

ActiveWorkbook.connections("Canal de Ofertas Ofertas MIS").Refresh
ActiveWorkbook.connections("Canal Expresso").Refresh
ActiveWorkbook.connections("MDR").Refresh
ActiveWorkbook.connections("Projetos Horas Alocadas").Refresh
ActiveWorkbook.connections("Projetos por Pontos Focais 2016").Refresh
ActiveWorkbook.connections("Tbl_Acionamentos_2016").Refresh


Next
Next
End Sub
#7742
Amigo sou iniciante no VBA mais vou tentar ajudar a ordem aqui no caso não estaria errado?
Código: Selecionar todos
Sub AtualizaDinamicas()


'Objeto de tabela dinâmica
Dim pivottable As pivottable

'Loop por todos os objetos da planilha
For Each plan In ActiveWorkbook.Sheets
For Each pivottable In plan.PivotTables
pivottable.RefreshTable

ActiveWorkbook.connections("Canal de Ofertas Ofertas MIS").Refresh
ActiveWorkbook.connections("Canal Expresso").Refresh
ActiveWorkbook.connections("MDR").Refresh
ActiveWorkbook.connections("Projetos Horas Alocadas").Refresh
ActiveWorkbook.connections("Projetos por Pontos Focais 2016").Refresh
ActiveWorkbook.connections("Tbl_Acionamentos_2016").Refresh


Next
Next
End Sub
Esta linha:
pivottable.RefreshTable
Nao deveria estar após atualização das conexões?
ABaixo de :ActiveWorkbook.connections("Tbl_Acionamentos_2016").Refresh

Sou bem leigo mais talvez ajude.

abraços
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