Pessoal, bom dia.
Meu nome é Danilo, sou novo aqui, nunca postei, mas sempre olhei/procurei ajuda nos tópicos, e sempre me foram de grande valia.
Contudo, estou com um problema que não consegui achar solução. Gostaria de saber se alguém pode me ajudar.
Tenho duas planilhas, a "Broad" e a "Macros", e estou em rede com outros pcs.
Essa planilha "Broadcast" está em uma pasta na rede, e eu a abro no pc1, onde atualiza diversos tickers de cotação constantemente linkada a um programa.
A planilha "Macro" é uma "Cópia da Broad" (='I:DIPlanilhas GestãoGerenciais[Broadcast.xlsm]broad'!E5), para que assim eu possa abrir ela em outro pc e continuar vendo os valores. ( Não consigo abrir o programa de cotação no outro pc ).
Contudo, quando a "Broadcast" atualiza, a "Macros" não atualiza automaticamente, assim preciso ficar salvando a "Broadcast" e atualizando a "Macros". Dessa forma, fiz duas macros com timers para as duas. No entanto, ao rodar, elas rodam durante um tempo e depois dão o erro 1004. O grande problema que eu vejo é que quando coincide a atualização com o salvamento, a macro dá pau e paralisa tudo.
Pensei em linkar com o onedrive ou com o googledrive, mas nenhum deles consegue puxar a "broadcast" em tempo real. Somente subindo o arquivo toda hora.
Gostaria de saber se alguém consegue me ajudar. Preciso visualizar a planilha "Broadcast" em tempo real em outro pc.
Segue abaixo as macros que fiz nas planilhas.
Plan MACROS:
"Public RunWhen1 As Double
Public Const cRunIntervalSecondss = 1
Public Const cRunWhat1 = "Atualizacao"
Sub Atualizacao()
ActiveWorkbook.UpdateLink Name:= _
"I:DIPlanilhas GestãoGerenciaisBroadcast.xslx", Type:=xlExcelLinks
StartTimer1
End Sub
Sub StopTimer1()
On Error Resume Next
Application.OnTime EarliestTime:=RunWhen1, Procedure:=cRunWhat1, _
Schedule:=False
End Sub
Sub StartTimer1()
RunWhen1 = Now + TimeSerial(0, 0, cRunIntervalSecondss)
Application.OnTime EarliestTime:=RunWhen1, Procedure:=cRunWhat1, _
Schedule:=True
End Sub"
Plan BROADCAST
"Public RunWhen As Double
Public Const cRunIntervalSeconds = 1
Public Const cRunWhat = "Salvamento"
Sub Salvamento()
Application.ScreenUpdating = False
Calculate
If Application.ThisWorkbook.Saved = False Then
Application.ThisWorkbook.Save
End If
StartTimer
Application.ScreenUpdating = True
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _
Schedule:=False
End Sub
Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _
Schedule:=True
End Sub
"
Obrigado pela ajuda.
Abss
Postado : 04/11/2014 7:44 am