Página 1 de 1

Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 17 Fev 2016 às 16:14
por BezerraAllan
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 ?

Re: Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 07:28
por alexandrevba
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

Re: Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 08:45
por BezerraAllan
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

Re: Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 09:08
por alexandrevba
Bom dia!!

Você pode depositar seu arquivo modelo?

Att

Re: Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 10:04
por BezerraAllan
Segue Arquivo !

Re: Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 12:44
por alexandrevba
Boa tarde!!

Bez, vc já tentou fazer o processo em background, como falso?
Código: Selecionar todos
.ODBCConnection.BackgroundQuery = False
Att

Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 13:29
por BezerraAllan
Vc diz habilitar na conexão a atualização em segundo plano ?

Acabei de habilitar para todas mas mesmo assim...

Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 14:07
por fernandoazevedo
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

Atualização de Conexões Externas e Tbl Dinâmicas

Enviado: 18 Fev 2016 às 15:07
por BezerraAllan
Obrigado pela atenção !

No código que enviei as conexões externas já estão primeiro que as tabelas dinâmicas.