Como fazer uma macro rodar a cada 15 minutos ?
No Excel existe um Application expecifica para isso que é a OnTime. Veja a sintaxe abaixo:
Application.OnTime Now + TimeValue(
"00:15:00"
)
O que essa Application ira realizar é executar uma macro a cada 15 minutos. Isso é muito util para quem tem trabalho de atualizar algum relatorio em Excel em um determinado intervalo de tempo.
A lógica da nossa aplicação abaixo é muito simples, quando abrimos a pasta de trabalho, chamamos pela primeira vez o procedimento necessário para atualizar os dados. Nesse procedimento, também adicionamos um código para chamar de volta o próprio procedimento 15 minutos depois. Assim, enquanto a pasta de trabalho estiver aberto, o procedimento continuará a chamar-se a cada 15 minutos.
[sourcecode highlight=”” language=”vb”]
‘ Coloque este procedimento no módulo ThisWorkbook
Private Sub Workbook_Open()
‘Chama o procedimento AtualizaData quando o WorkBook é aberto
Call AtualizaData
End Sub
‘ Adcione este novo procedimento em um novo modulo
Public Sub AtualizaData()
Debug.Print "Data atualizada em " & Now
‘ Aqui é onde nós colocamos tudo o necessário para atualizar os dados
Application.OnTime Now + TimeValue("00:15:00"), "AtualizaData"
End Sub
[/sourcecode]
Mesmo que se parece com um loop infinito, isso não é um problema para Excel quando usamos a função Application.OnTime. A programação irá parar automaticamente quando o workbook for fechado.
Pratiquem …