Função de espera do VBA - Como usar a função de espera do Excel VBA?

Índice:

Anonim

Função de espera do VBA

Semelhante à função de suspensão A função de espera no VBA cria um código para aguardar ou pausar por alguns segundos. Como essas funções são usadas, precisamos criar um código específico para estar em pausa ou em espera para permitir que outro programa funcione primeiro e depois retomar o outro programa. Também é chamado como método Application.Wait no VBA.

Como o nome sugere, a função Aguardar VBA no VBA é usada para manter um programa em um horário específico, para que outro código possa funcionar durante esse período. Os aplicativos em segundo plano continuam em execução e apenas o módulo atual aguarda.

Sintaxe da função de espera no Excel VBA

A sintaxe para usar a função Application.Wait no VBA é a seguinte:

Esta função retorna um valor booleano.

Portanto, se precisarmos de um código para aguardar até as 14h de hoje, a sintaxe para o código será a seguinte:

Application.Wait ("14:00:00")

O código acima fará com que o código pare até as 14:00 e o código será retomado somente após as 14:00. Isso não é ideal para fazer com que um código aguarde 14h, em geral, queremos aguardar um certo código por mais 10 segundos e depois executar. Se eu precisar criar código para aguardar 10 segundos, o código será o seguinte:

Application.Wait (Now + TimeValue ("0:00:10"))

Agora é a função que leva o tempo atual e estamos adicionando 10 segundos à função de valor do tempo atual através do tempo para que o código possa esperar ou pausar por 10 segundos.

Nota: Para usar o VBA, precisamos ter a guia do desenvolvedor ativada na guia Arquivos na seção de opções.

Como usar a função de espera do Excel VBA?

Vamos aprender como usar uma função VBA Wait Excel com alguns exemplos.

Você pode fazer o download deste modelo do VBA Wait Excel aqui - Modelo do VBA Wait Excel

Função de espera do VBA - Exemplo # 1

Atualmente, o horário no meu laptop é 15:50 e quero que o código seja retomado às 16:00. Usaremos uma adição simples a algumas variáveis, mas exibiremos o resultado após as 16:00. Queremos que o código aguarde esse período.

Etapa 1: Vá para a guia Desenvolvedor e clique em Visual Basic para abrir o VB Editor.

Etapa 2: Clique na guia Inserir e, em seguida, clique em Módulo .

Etapa 3: Depois que a janela de código for aberta, declare uma subfunção para começar a escrever o código.

Código:

 Subamostra () End Sub 

Etapa 4: Declare três variáveis ​​AB e C como um número inteiro.

Código:

 Subamostra () Dim A, B, C Como Inteiro Final Sub 

Etapa 5: atribua valores aleatórios às variáveis ​​A e B.

Código:

 Subamostra () Dim A, B, C Como Inteiro A = 10 B = 15 Fim Sub 

Etapa 6: Use uma função application.wait para fazer com que a função aguarde até 16:00.

Código:

 Subamostra () Dim A, B, C Como Inteiro A = 10 B = 15 Application.Wait ("16:00:00") End Sub 

Etapa 7: Use a adição de A e B e armazene a saída em C.

Código:

 Subamostra () Dim A, B, C Como Inteiro A = 10 B = 15 Application.Wait ("16:00:00") C = A + B End Sub 

Etapa 8: Use uma função Msgbox para exibir o valor de C.

Código:

 Subamostra () Dim A, B, C Como Inteiro A = 10 B = 15 Application.Wait ("16:00:00") C = A + B MsgBox C End Sub 

Etapa 9: execute o código acima. Depois de executar o código, vemos que o código não exibe uma mensagem até as 16:00, mas após as 16:00, recebo a seguinte saída.

Eu tive que esperar até 16:00 para ver esse resultado. O código da função Msgbox teve que esperar realmente.

Função de espera do VBA - exemplo # 2

Vamos ver o código com algumas mensagens personalizadas de que o código aguardará 10 segundos e, após 10 segundos, exibirá que o tempo de espera expirou e exibiu o resultado final.

Etapa 1: Vá para a guia Desenvolvedor e clique em Visual Basic para abrir o VB Editor.

Etapa 2: Declare uma subfunção para começar a escrever o código.

Código:

 Sub Amostra1 () End Sub 

Etapa 3: Declare três variáveis ​​AB e C como um número inteiro.

Código:

 Sub Amostra1 () Dim A, B, C Como Inteiro Final Sub 

Etapa 4: atribua valores aleatórios às variáveis ​​A e B.

Código:

 Sub Amostra1 () Dim A, B, C Como Inteiro A = 2 B = 10 Fim Sub 

Etapa 5: Use uma função Msgbox para exibir que o tempo de espera está prestes a começar.

Código:

 Sub Amostra1 () Dim A, B, C Como Inteiro A = 2 B = 10 MsgBox "O tempo de espera é iniciado" End Sub 

Etapa 6: Use a função Esperar para aguardar o código por 10 segundos.

Código:

 Sub Amostra1 () Dim A, B, C Como Inteiro A = 2 B = 10 MsgBox "O tempo de espera é iniciado" Application.Wait (Now + TimeValue ("0:00:10")) End Sub 

Etapa 7: na variável C, ele armazena o valor de B / A e exibe uma mensagem personalizada de que o período de espera terminou e, em seguida, exibe o valor de C.

Código:

 Sub Amostra1 () Dim A, B, C Como Inteiro A = 2 B = 10 MsgBox "O tempo de espera é iniciado" Application.Wait (Now + TimeValue ("0:00:10")) C = B / A MsgBox " O tempo de espera acabou "MsgBox C End Sub 

Etapa 8: executamos o código e vemos a primeira mensagem como a seguinte.

Etapa 9: pressione OK para ver o próximo resultado após 10 segundos.

Etapa 10: quando pressionamos ok, obtemos o resultado final.

No exemplo acima, criamos o código para aguardar 10 segundos e exibir o resultado do valor de C.

Função de espera do VBA - Exemplo # 3

Agora, vamos renomear as planilhas 1 e 2 como Anand e Aran, respectivamente, mas queremos um intervalo de 5 segundos entre as duas folhas sendo renomeadas.

Etapa 1: Vá para a guia Desenvolvedor e clique em Visual Basic para abrir o VB Editor.

Etapa 2: Declare uma subfunção para começar a escrever o código.

Código:

 Sub Amostra2 () End Sub 

Etapa 3: ative a primeira planilha.

Código:

 Sub Amostra2 () Planilhas ("Plan1"). Ativar End Sub 

Etapa 4: renomeie a primeira planilha como Anand.

Código:

 Sub Amostra2 () Planilhas ("Plan1"). Ative Planilhas ("Plan1"). Nome = "Anand" End Sub 

Etapa 5: Exiba uma mensagem de que a planilha 1 foi renomeada e o código será pausado por cinco segundos.

Código:

 Sub Amostra2 () Planilhas ("Plan1"). Ative Planilhas ("Plan1"). Nome = "Anand" MsgBox "Planilha 1 renomeada agora, o código será pausado por 5 segundos" End Sub 

Etapa 6: Use a função Esperar para fazer o código esperar por cinco segundos.

Código:

 Sub Amostra2 () Planilhas ("Plan1"). Ative Planilhas ("Plan1"). Nome = "Anand" MsgBox "Planilha 1 renomeada agora, o código será pausado por 5 segundos" Application.Wait (Now + TimeValue ("0:00: 05 ")) End Sub 

Etapa 7: Agora renomeie a segunda folha 2 como Aran.

Código:

 Sub Amostra2 () Planilhas ("Plan1"). Ative Planilhas ("Plan1"). Nome = "Anand" MsgBox "Planilha 1 renomeada agora, o código será pausado por 5 segundos" Application.Wait (Now + TimeValue ("0:00: 05 ")) Planilhas (" Plan2 "). Ative Planilhas (" Plan2 "). Nome =" Aran "End Sub 

Etapa 9: Exiba uma mensagem de que a planilha 2 foi renomeada e a espera foi aprovada.

Código:

 Sub Amostra2 () Planilhas ("Plan1"). Ative Planilhas ("Plan1"). Nome = "Anand" MsgBox "Planilha 1 renomeada agora, o código será pausado por 5 segundos" Application.Wait (Now + TimeValue ("0:00: 05 ")) Planilhas (" Plan2 "). Ative Planilhas (" Plan2 "). Nome =" Aran "MsgBox" O tempo de espera terminou e a planilha 2 também foi renomeada "End Sub 

Etapa 10: agora execute o código para ver o resultado.

Podemos ver que a folha 1 foi renomeada como Anand e recebemos a mensagem aguardando cinco segundos. Clique em OK e aguarde cinco segundos pela segunda mensagem.

A partir dos exemplos acima, é claro como usar a função Wait no VBA.

Coisas para lembrar

Há algumas coisas que precisamos lembrar sobre a função de espera do Excel VBA:

  • É semelhante à função Sleep.
  • A função de espera está embutida no VBA, ao contrário da função de suspensão, que é uma função do Windows.
  • A função Wait leva Time como argumento.

Artigos recomendados

Este foi um guia para a função de espera do VBA. Aqui discutimos como usar a função de espera do VBA do Excel, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Como usar o VBA TIMER?
  2. Subtrair tempo no Excel
  3. Guia para Excel VBA Time
  4. NOW Excel Function