Función de espera de VBA - ¿Cómo utilizar la función de espera Excel VBA?

Tabla de contenido:

Anonim

Función de espera de VBA

Similar a la función de suspensión La función de espera en VBA crea un código para esperar o pausar durante unos segundos. Cómo se usan esas funciones que necesitamos hacer que un código específico esté en pausa o en espera para permitir que otro programa funcione primero y luego reanudar el otro programa. También se llama como método Application.Wait en VBA.

Como su nombre indica, la función VBA Wait en VBA se usa para mantener un programa a una hora específica para que otro código pueda funcionar durante ese tiempo. Las aplicaciones en segundo plano siguen ejecutándose y solo espera el módulo actual.

Sintaxis para la función de espera en Excel VBA

La sintaxis para usar la función Application.Wait en VBA es la siguiente:

Esta función devuelve un valor booleano.

Entonces, si necesitamos un código para esperar hasta las 2:00 p.m. de hoy, la sintaxis para el código será la siguiente:

Solicitud.Espere (“14:00:00”)

El código anterior hará que el código se detenga hasta las 2:00 p.m. y el código se reanudará solo después de las 2:00 p.m. Esto no es óptimo para hacer que un código espere hasta las 2 p.m., en general, queremos esperar un cierto código por otros 10 segundos y luego ejecutarlo. Si necesito hacer un código para esperar 10 segundos, el código será el siguiente:

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

Ahora es la función que tomará el tiempo actual y estamos agregando 10 segundos a la función de valor de tiempo actual a través del tiempo para que el código pueda esperar o pausar durante 10 segundos.

Nota: Para usar VBA debemos tener habilitada la pestaña de desarrollador desde la pestaña Archivos en la sección de opciones.

¿Cómo utilizar la función de espera Excel VBA?

Aprenderemos cómo usar una función VBA Wait Excel con algunos ejemplos.

Puede descargar esta plantilla de Excel VBA Wait aquí - Plantilla de VBA Wait Excel

Función de espera de VBA - Ejemplo # 1

Actualmente, el tiempo en mi computadora portátil es 3:50 p.m. y quiero que el código se reanude a las 4:00 p.m. Usaremos una suma simple para algunas variables, pero mostraremos el resultado después de las 4:00 PM. Queremos que el código espere ese período.

Paso 1: vaya a la pestaña Desarrollador y haga clic en Visual Basic para abrir VB Editor.

Paso 2: haga clic en Insertar pestaña y luego haga clic en Módulo .

Paso 3: una vez que se abre la ventana de código, declare una subfunción para comenzar a escribir el código.

Código:

 Sub muestra () End Sub 

Paso 4: Declare tres variables AB y C como un entero.

Código:

 Submuestra () Dim A, B, C como entero Fin Sub 

Paso 5: Asignar valores aleatorios a las variables A y B.

Código:

 Submuestra () Dim A, B, C Como entero A = 10 B = 15 End Sub 

Paso 6: Use una función application.wait para hacer que la función espere hasta las 4:00 p.m.

Código:

 Submuestra () Dim A, B, C Como entero A = 10 B = 15 Aplicación. Espera ("16:00:00") Fin Sub 

Paso 7: Use la adición de A y B y almacene la salida en C.

Código:

 Submuestra () Dim A, B, C Como entero A = 10 B = 15 Aplicación. Espera ("16:00:00") C = A + B Fin Sub 

Paso 8: Use una función Msgbox para mostrar el valor de C.

Código:

 Submuestra () Dim A, B, C Como entero A = 10 B = 15 Aplicación. Espera ("16:00:00") C = A + B MsgBox C End Sub 

Paso 9: ejecuta el código anterior. Una vez que ejecutamos el código, vemos que el código no muestra un mensaje hasta las 4:00 pm, pero después de las 4:00 pm obtengo el siguiente resultado.

Tuve que esperar hasta las 4:00 pm para ver este resultado. El código de la función Msgbox tuvo que esperar en realidad.

Función de espera de VBA - Ejemplo # 2

Veamos el código con algunos mensajes personalizados de que el código esperará durante 10 segundos y después de que hayan pasado 10 segundos, mostrará que el tiempo de espera ha expirado y mostrará el resultado final.

Paso 1: vaya a la pestaña Desarrollador y haga clic en Visual Basic para abrir VB Editor.

Paso 2: declara una subfunción para comenzar a escribir el código.

Código:

 Sub Sample1 () End Sub 

Paso 3: declara tres variables AB y C como un entero.

Código:

 Sub Sample1 () Dim A, B, C As Integer End Sub 

Paso 4: Asignar valores aleatorios a las variables A y B.

Código:

 Submuestra1 () Dim A, B, C como entero A = 2 B = 10 End Sub 

Paso 5: Use una función Msgbox para mostrar que el tiempo de espera está por comenzar.

Código:

 Submuestra1 () Dim A, B, C como entero A = 2 B = 10 MsgBox "El tiempo de espera ha comenzado" Fin Sub 

Paso 6: utilice la función de espera para esperar el código durante 10 segundos.

Código:

 Submuestra1 () Dim A, B, C como entero A = 2 B = 10 MsgBox Aplicación "El tiempo de espera ha comenzado". Espera (Ahora + Valor de tiempo ("0:00:10")) Sub final 

Paso 7: en la Variable C, almacena el valor de B / A y muestra un mensaje personalizado que indica que el período de espera ha terminado y luego muestra el valor de C.

Código:

 Submuestra1 () Dim A, B, C como entero A = 2 B = 10 MsgBox Aplicación "El tiempo de espera ha comenzado". Espera (ahora + TimeValue ("0:00:10")) C = B / A MsgBox " El tiempo de espera ha terminado "MsgBox C End Sub 

Paso 8: ejecutamos el código y vemos el primer mensaje como el siguiente.

Paso 9: Presione OK para ver el siguiente resultado después de que hayan pasado 10 segundos.

Paso 10: Cuando presionamos ok obtenemos el resultado final.

En el ejemplo anterior, hicimos que el código esperara 10 segundos y luego mostrara el resultado del valor de C.

Función de espera de VBA - Ejemplo # 3

Ahora cambiemos el nombre de las hojas de trabajo hoja 1 y hoja 2 como Anand y Aran respectivamente, pero queremos un espacio de 5 segundos entre el cambio de nombre de ambas hojas.

Paso 1: vaya a la pestaña Desarrollador y haga clic en Visual Basic para abrir VB Editor.

Paso 2: declara una subfunción para comenzar a escribir el código.

Código:

 Sub Sample2 () End Sub 

Paso 3: activa la primera hoja de trabajo.

Código:

 Sub Sample2 () Worksheets ("Sheet1"). Active End Sub 

Paso 4: Cambie el nombre de la primera hoja de trabajo como Anand.

Código:

 Sub Sample2 () Hojas de trabajo ("Sheet1"). Activar hojas de trabajo ("Sheet1"). Name = "Anand" End Sub 

Paso 5: muestre un mensaje indicando que se cambió el nombre de la hoja 1 y que el código se pausará durante cinco segundos.

Código:

 Sub Sample2 () Worksheets ("Sheet1"). Active Worksheets ("Sheet1"). Name = "Anand" MsgBox "La hoja 1 renombrada ahora el código se detendrá durante 5 segundos" End Sub 

Paso 6: Use la función de espera para hacer que el código espere cinco segundos.

Código:

 Sub Sample2 () Worksheets ("Sheet1"). Active Worksheets ("Sheet1"). Name = "Anand" MsgBox "La hoja 1 renombrada ahora el código se detendrá durante 5 segundos" Application.Wait (Now + TimeValue ("0:00: 05 ")) Fin Sub 

Paso 7: Ahora renombra la segunda hoja 2 como Aran.

Código:

 Sub Sample2 () Worksheets ("Sheet1"). Active Worksheets ("Sheet1"). Name = "Anand" MsgBox "La hoja 1 renombrada ahora el código se detendrá durante 5 segundos" Application.Wait (Now + TimeValue ("0:00: 05 ")) Hojas de trabajo (" Hoja2 "). Activar Hojas de trabajo (" Hoja2 "). Nombre =" Aran "Fin Sub 

Paso 9: muestre un mensaje indicando que se cambió el nombre de la hoja 2 y se pasó la espera.

Código:

 Sub Sample2 () Worksheets ("Sheet1"). Active Worksheets ("Sheet1"). Name = "Anand" MsgBox "La hoja 1 renombrada ahora el código se detendrá durante 5 segundos" Application.Wait (Now + TimeValue ("0:00: 05 ")) Hojas de trabajo (" Sheet2 "). Activar hojas de trabajo (" Sheet2 "). Name =" Aran "MsgBox" El tiempo de espera ha terminado y la hoja 2 también se renombró "End Sub 

Paso 10: ahora ejecuta el código para ver el resultado.

Podemos ver que la hoja 1 ha sido renombrada como Anand y recibimos el mensaje de esperar cinco segundos. Haga clic en Aceptar y espere cinco segundos para el segundo mensaje.

De los ejemplos anteriores, está claro cómo usar la función de espera en VBA.

Cosas para recordar

Hay algunas cosas que debemos recordar sobre Excel VBA Wait Function:

  • Es similar a la función de sueño.
  • La función de espera está incorporada en VBA a diferencia de la función de suspensión, que es una función de Windows.
  • La función de espera toma el tiempo como argumento.

Artículos recomendados

Esta ha sido una guía para la función de espera de VBA. Aquí discutimos cómo usar Excel VBA Wait Function junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ¿Cómo usar VBA TIMER?
  2. Restar tiempo en Excel
  3. Guía para Excel VBA Time
  4. AHORA Función Excel