VBA Time - ¿Cómo utilizar la función de tiempo Excel VBA? (Ejemplos)

Tabla de contenido:

Anonim

Excel VBA Time

La función VBA TIME devuelve la hora actual como salida y también se puede usar como entrada a diferentes líneas de código macro. Esta función no tiene ningún parámetro establecido y, por lo tanto, tiene la sintaxis más simple como palabra TIME con paréntesis vacíos que se pueden ver a continuación:

La sintaxis para la función VBA TIME:

Hora()

De hecho, tampoco hay necesidad de paréntesis, simplemente puede usar la palabra TIEMPO en su bloque de código que permite que su sistema regrese la hora actual. También tenemos una función similar llamada NOW () en Excel VBA que devuelve la hora actual junto con la fecha. Sin embargo, en este artículo, todo nuestro enfoque estaría en usar la función TIME y mirar diferentes ejemplos de trabajo de la misma.

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

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

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

Función de tiempo VBA - Ejemplo # 1

Hora actual del sistema con la función HORA:

Siga los pasos a continuación para mostrar la hora actual de su sistema.

Paso 1: definir un subprocedimiento.

Código:

 Sub TimeExample1 () End Sub 

Paso 2: defina una variable que será útil para mantener el valor del tiempo para usted. Definirlo como cadena.

Código:

 Sub TimeExample1 () Dim CurrentTime As String End Sub 

Nota: La razón para definir esta variable como String es que la salida de la función TIME está en una cadena.

Paso 3: Use la función VBA TIME para asignar la hora actual a la variable definida en el paso anterior usando un operador de asignación.

Código:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time End Sub 

Paso 4: Como mencioné anteriormente, no es necesario agregar paréntesis después de la función TIME, ya que esta es una función volátil. Dicho esto, el siguiente código dará el resultado equivalente en comparación con el código anterior.

Código:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () End Sub 

Paso 5: Ahora, use una función MsgBox para mostrar la hora actual usando el cuadro de mensaje de visualización.

Código:

 Sub TimeExample1 () Dim CurrentTime As String CurrentTime = Time () MsgBox CurrentTime End Sub 

Paso 6: Ejecute este código presionando F5 o el botón Ejecutar y vea la salida. Debería obtener la salida como se muestra en la imagen a continuación.

Tenga en cuenta que el tiempo que se refleja en la imagen de arriba es el tiempo en que este código se ejecuta en el sistema. Mientras lo prueba usted mismo, su salida puede variar según el tiempo que esté trabajando en este código.

Función de tiempo VBA - Ejemplo # 2

VBA TIME en combinación con una función de fecha para devolver la hora actual con la fecha de hoy:

Como se informó anteriormente en la introducción de este artículo, existe una función llamada NOW () que le brinda la fecha actual y la hora en Microsoft Excel. Vea la captura de pantalla a continuación.

Sin embargo, en VBA no tenemos esta función funcionando. Por lo tanto, en VBA tenemos que usar una combinación de las funciones Fecha VBA y HORA VBA para obtener la fecha y hora actuales. La fecha de VBA dará una fecha actual y la hora de VBA dará la hora actual (que ya hemos visto en el primer ejemplo).

Veamos paso a paso cómo podemos lograr esto.

Paso 1: inserte un nuevo módulo en su script Excel VBA.

Paso 2: defina un nuevo subprocedimiento dando un nombre a la macro.

Código:

 Sub Ejemplo2 () End Sub 

Paso 3: Queríamos que nuestra salida se almacenara en la celda A1 de nuestra hoja de Excel. Para eso, comience a escribir el código de la siguiente manera.

Código:

 Sub Ejemplo2 () Rango ("A1"). Valor = Fin Sub 

Paso 4: Ahora, use una combinación de las funciones VBA DATE y VBA TIME como se muestra a continuación y asigne su valor a la celda A1.

Código:

 Sub Ejemplo2 () Rango ("A1"). Valor = Fecha & "" & Hora Fin Sub 

La función FECHA devolverá la fecha actual del sistema y la función HORA devolverá la hora actual. El espacio en blanco entre comillas dobles ("") permite tener un espacio entre la fecha y la hora en la salida final. Dos y (y) operadores funcionan como operadores de concatenación que concatenan FECHA y HORA con espacio en él.

Paso 5: Ejecute el código presionando F5 o el botón Ejecutar manualmente. Verá el resultado en la celda A1 de su hoja de trabajo como golpe:

Aquí, nuevamente, tenga en cuenta que el tiempo que se refleja en la celda A1 es la fecha y la hora en que este código lo ejecuto yo mismo. Por lo tanto, cuando ejecute este código, las salidas serán diferentes.

También podemos formatear los valores de fecha y hora utilizando la función NumberFormat en VBA.

Paso 6: escriba el código mencionado a continuación en su secuencia de comandos VBA.

Código:

 Sub Ejemplo2 () Rango ("A1"). Valor = Fecha y "" & Rango de tiempo ("A1"). NumberFormat = "dd-mmm-aaaa hh: mm: ss AM / PM" Fin Sub 

Paso 7: presione F5 o el botón Ejecutar manualmente y verá el resultado como se muestra a continuación en la celda A1 de su hoja de trabajo.

Función de tiempo VBA - Ejemplo # 3

Función VBA TIME para rastrear la fecha y hora de apertura de un libro de trabajo:

A veces, hay una hoja de cálculo que abrimos con frecuencia (Me gusta Lista de empleados de una organización) y hacemos cambios en ella. Es posible que nos interese saber la fecha y la hora en que se realizaron los cambios en la hoja de trabajo. La función de tiempo VBA se puede usar para rastrear la fecha y la hora cada vez que se abre un libro de trabajo. Vea los pasos a continuación para trabajar en lo mismo.

Paso 1: cree una nueva hoja de trabajo en su libro de Excel y cámbiele el nombre según su conveniencia. Lo renombraré como (Time_Track).

Paso 2: haga doble clic en ThisWorkbook en VBE (Visual Basics Editor).

Paso 3: en la lista desplegable de objetos, seleccione Libro de trabajo en lugar de General.

Paso 4: Verá que se definirá un nuevo subprocedimiento privado con el nombre Workbook_Open () en VBE.

Código:

 Private Sub Workbook_Open () End Sub 

Paso 5: escriba el código mencionado a continuación en este subprocedimiento de macro como se muestra en la imagen a continuación:

Código:

 Private Sub Workbook_Open () Dim LB As Long LB = Sheets ("Time_Track"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Sheets ("Time_Track"). Cells (LB, 1) .Value = Fecha y "" y hora () Fin Sub 

Aquí se define una variable LB de tipo Long para encontrar la celda junto a la última celda utilizada donde se puede almacenar la salida. Luego, usando una combinación de funciones VBA DATE y TIME, hemos asignado un valor debajo de esa celda.

Paso 6: Ejecute el código presionando F5 o el botón Ejecutar manualmente y vea el resultado en la columna A de una hoja de trabajo.

Este código almacenará el valor de Fecha y Hora cada vez que abra la hoja de trabajo Time_Track.

Esto es de este artículo. Vamos a terminar las cosas escribiendo algunas cosas para recordar.

Cosas para recordar

  • La función VBA TIME almacena la salida como una cadena en Excel. Sin embargo, también podemos almacenarlo como formato de fecha mientras definimos una variable como fecha en lugar de una cadena.
  • La función TIME no requiere ningún argumento en ella. Es una función volátil.
  • Incluso no necesita paréntesis para llamar a la función. Solo TIME es suficiente para obtener la hora actual.
  • La función HORA almacena de forma predeterminada el valor de la hora en formato hh: mm: ss (formato de reloj de 24 horas). Sin embargo, a veces el formato de salida depende también del formato de hora de su sistema.

Artículos recomendados

Esta ha sido una guía para la función de tiempo VBA. Aquí hemos discutido cómo usar las funciones de tiempo de Excel VBA y también hemos aprendido la combinación de fecha y hora como alternativa a la función Now () y rastreamos los registros abiertos del libro de trabajo junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ¿Cómo crear Excel VBA MsgBox?
  2. DÍA LABORAL Función Excel | Fórmula
  3. Guía de VBA Do While Loop
  4. Insertar fecha en Excel