/ / Atraso de uma macro no Excel VBA

Atrasar uma macro no Excel VBA

Para executar um sub em Excel VBA depois de um tempo específico, use onTime, Now e a função TimeValue. Primeiro, coloque um sub em um módulo.

1. Abra o Editor do Visual Basic e clique em Inserir, Módulo.

2. Adicione o seguinte sub com lembrete de nome:

Sub reminder()

MsgBox "Don"t forget your meeting at 14.30"

End Sub

Queremos que o Excel VBA execute este sub 5 segundos após um botão de comando ser clicado.

2. Coloque um botão de comando em sua planilha e adicione a seguinte linha de código:

Application.OnTime Now() + TimeValue("00:00:05"), "reminder"

3. Clique no botão de comando na planilha.

Resultado 5 segundos depois:

Macro executada 5 segundos depois

4. Se você deseja executar este sub em um horário específico, simplesmente use a seguinte linha de código:

Application.OnTime TimeValue("14:00:00 am"), "reminder"

5. Clique no botão de comando na planilha e aguarde até as 14:00 para ver o seu sub sendo executado.

Nota: provavelmente você não usará o VBA do Excel para se lembrar de uma reunião importante, mas se quiser, é melhor colocar uma macro como essa em um Evento Aberto da Pasta de Trabalho. Ao fazer isso, você receberá automaticamente um lembrete às 14: 00:00 (você não precisa clicar em um botão de comando para ativar a macro). Naturalmente, você receberá apenas o lembrete quando deixar sua pasta de trabalho aberta.

Leia também: