Notifications
Clear all

Loop Infinito para Atualização de Vínculos

14 Posts
2 Usuários
0 Reactions
1,645 Visualizações
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Preciso colocar o script abaixo (atualizando os vínculos entre duas planilhas) em loop infinito e que seja executado a cada 5 segundos. É possível?

Sub Atualizar()
'
' Atualizar Macro
'
ActiveWorkbook.UpdateLink Name:="NOME DO ARQUIVO", Type:= _
xlExcelLinks
End Sub

 
Postado : 08/07/2016 12:13 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Nossa a cada 5 seg???

Se cria tantos vinculos assim???

Uma sugestão seria a cada alteração

Mais simples

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 08/07/2016 12:20 pm
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Excelente ideia, a chance de um travamento é bem menor. Você sabe como fazer isso? Fiz com "Loop While", mas vai acabar travando.

 
Postado : 08/07/2016 12:42 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Se o codigo acima funciona ao ser executado basta coloca-lo no envento change da planilha

Teste assim:


Private Sub Worksheet_Change(ByVal Target As Range)

ActiveWorkbook.UpdateLink Name:="NOME DO ARQUIVO", Type:= _
xlExcelLinks

End Sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 08/07/2016 1:24 pm
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Vou testar e dou retorno. Muito obrigado desde já.

 
Postado : 08/07/2016 1:31 pm
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Fiz uma análise aqui e não vai funcionar. Vou explicar como esse meu pequeno "sistema" funciona.
Esse "sistema" é composto por duas planilhas que ficam em locais distintos: "PLAN1" fica em um servidor (essa planilha é alimentada de tempos em tempos com dados novos)
"PLAN2" fica em uma estação somente para exibição de 7 planilhas (alimentadas pela "PLAN1") que ficam se alternando automaticamente através de script de alternância entre tabelas. O que eu preciso é que a PLAN2 seja atualizada toda vez que algum dado for alterado na PLAN1. Será que consegui explicar mais ou menos o meu dilema? É possível fazer isso com esse script que eu postei? rsrs

 
Postado : 08/07/2016 1:47 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Disponibilize os dois arquivos com dados de exemplo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 08/07/2016 1:49 pm
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Beleza, vou providenciar isso, mas só vou conseguir na semana que vem, pois tenho q montar os exemplos.

 
Postado : 08/07/2016 2:11 pm
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Marcelo, como prometido seguem os exemplos em anexo.
Como funciona: O arquivo "PLAN2" fica em um servidor e é disponibilizado para o usuário para alterações; O arquivo "PLAN1" (alimentado pela "PLAN2") fica em uma máquina separada somente para exibição das informações em uma tela grande (tipo dashboard). "PLAN1" tem que ler as informações em tempo real, o que não ocorre estando os 2 arquivos abertos em máquinas diferentes, por isso necessito que aquele código de atualização de vínculos seja executado automaticamente a cada 1 min. Acredito que esse delay de 1 min é tranquilo, não sendo necessário a atualização segundo a segundo como tinha informado no início do tópico. Mais uma vez, muito obrigado pela atenção.

 
Postado : 11/07/2016 12:12 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Vc quer alterar a plan1 e ela alterar a plan que fica aberta com a tela aberta???

É isso?

Isso o viculo ja faz pelo menos deveria fazer.

E so deixar as planilhas em calulo automatico.

Suponha que vc tenha um vinculo da celula A1 da plan1 com a celula A5 da plan2 ao aterar os dados da plan1 é alterado o valor da plan2, afinal pra isso serve o vinculo.

Os testes que fiz funcionaram conforme explicações acima.

Qual é o problema que nao entendi.

As maquinas precisam estar na mesma rede...

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 11/07/2016 1:18 pm
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

É isso, porém o vínculo só funciona em tempo real se as planilhas estiverem abertas na mesma máquina, quando abertas em máquinas diferentes, os dados da "PLAN1" só são alterados se der esse comando ou se fechar e abrir o arquivo, mesmo as máquinas estando na mesma rede (que é o caso). Já fiz vários testes e até procurei informações em vários lugares a respeito desses vínculos e realmente só funcionam em tempo real se estiverem abertos na mesma máquina. Não entendi esse lance de cálculo automático, como funciona isso?

 
Postado : 11/07/2016 2:05 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Se o local onde a planilha que funciona em fullscreen estiver compartilhado vai funcionar eu testei aqui e funcionou....

Isso é mais um problema de rede do que de excel

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 11/07/2016 3:08 pm
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Vou verificar e fazer novos testes e te falo. Muito obrigado.

 
Postado : 12/07/2016 5:49 am
(@aloisiojr)
Posts: 9
Active Member
Topic starter
 

Marcelo, acabou que a solução estava mais perto que eu imaginava. Como não consegui desvendar esse mistério da rede... as duas máquinas fazem parte de um mesmo domínio, estão com compartilhamento ativado, tá tudo certo e mesmo assim a danada da planilha não atualizava. Como eu já tinha um script rodando em loop, só lancei o código de atualização dentro dele e agora tá funfando que é uma maravilha. Muito obrigado mesmo pelo help.

 
Postado : 14/07/2016 11:02 am