Fecha de Excel VBA

Hay algunas funciones que son realmente muy útiles, y sofocamos nuestra vida sin que esas funciones sean un usuario de VBA. La función FECHA es una de esas funciones que puede ser realmente muy útil a veces y puede hacer la vida más fácil para un programador. En una hoja de cálculo de Excel, hay una función llamada TODAY () que proporciona la fecha actual como resultado en función de la fecha del sistema. En líneas similares, VBA tiene la función DATE que proporciona la fecha actual en función de la fecha del sistema.

La función VBA DATE devuelve la fecha actual en función de la fecha del sistema como resultado y tiene una sintaxis realmente muy simple.

Esta función no tiene ningún argumento para pasar, viene con el nombre de la función y paréntesis vacíos. No es obligatorio agregar los paréntesis al llamar a esta función. ¿No es esta función realmente simple en la naturaleza?

La sintaxis de la función DATE en VBA.

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

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

Puede descargar esta plantilla de Excel de la fecha de VBA aquí - Plantilla de Excel de la fecha de VBA

Función de fecha VBA - Ejemplo # 1

Supongamos que desea ver la fecha actual en MsgBox. Como puedes hacer eso? Simplemente siga los pasos a continuación y estará listo.

Paso 1: inserte un nuevo módulo en su Editor de Visual Basic.

Paso 2: defina un subprocedimiento para escribir crear y guardar una macro.

Código:

 Sub DateEx1 () End Sub 

Paso 3: defina una variable llamada CurrDate que pueda contener el valor de la fecha actual. Como estamos a punto de asignar un valor de fecha a la variable, asegúrese de definirlo como una fecha.

Código:

 Sub DateEx1 () Dim CurrDate As Date End Sub 

Paso 4: Usando el operador de asignación, asigne un valor de la fecha actual del sistema a la variable recién creada. Solo necesita agregar FECHA para asignar el valor de la fecha. Use el siguiente código:

Código:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Date End Sub 

Paso 5: Use MsgBox para poder ver la fecha actual del sistema en el cuadro de mensaje. Use la línea de código que figura a continuación:

Código:

 Sub DateEx1 () Dim CurrDate As Date CurrDate = Date MsgBox "La fecha de hoy es:" & CurrDate End Sub 

Paso 6: presiona F5 o ejecuta el botón manualmente para ejecutar este código. Podrá ver un cuadro de mensaje como se muestra en la siguiente captura de pantalla con la fecha actual.

Tenga en cuenta que la fecha que se muestra aquí en la captura de pantalla es la fecha en la que ejecuté este script. Es posible que obtenga una fecha diferente en el momento en que ejecuta este código, según la fecha de su sistema.

Este es el ejemplo más simple de obtener la fecha actual. También puede usar la función Cells.Value para obtener el valor de la fecha en una celda particular de su hoja de Excel.

Función de fecha VBA - Ejemplo # 2

Fecha de vencimiento del pago de EMI para préstamos hipotecarios

Supongamos que tengo una hoja de trabajo y necesito un sistema que me muestre un mensaje " ¡Hola! Debe pagar su EMI hoy. "Cada vez que abro mi hoja y el valor en la celda A1 es la fecha actual del sistema. Veamos paso a paso cómo podemos hacer eso.

Paso 1: inserte un nuevo módulo y defina un nuevo subprocedimiento denominado auto_open () para crear una macro. auto_open () permite que su macro se ejecute automáticamente cada vez que abra la hoja de trabajo.

Código:

 Sub auto_open () End Sub 

Paso 2: use la condición If para asignar el valor de la fecha actual en la celda A1 de la hoja de trabajo HomeLoan_EMI.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date End Sub 

Paso 3: Ahora, use Then en la misma línea después de IF para que podamos agregar una instrucción que se ejecutará siempre que la condición if sea verdadera.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then End Sub 

Paso 4: agregue una instrucción que se ejecutará para la condición que es verdadera.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Hey! Necesitas pagar tu EMI hoy") End Sub 

Esta declaración aparecerá en el cuadro de mensaje tan pronto como se cumpla una condición.

Paso 5: Como sabemos, cada condición IF siempre necesitaba una condición Else. Agregue una condición Else a este bucle.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Hey! Necesitas pagar tu EMI hoy"). Else Exit Sub End Sub 

Esta otra condición terminará la apertura automática de Macro si una fecha en la celda A1 no es la fecha actual del sistema.

Paso 6: Finalmente, finalice el bucle IF utilizando la instrucción End IF.

Código:

 Sub auto_open () If Sheets ("HomeLoan_EMI"). Range ("A1"). Value = Date Then MsgBox ("Hey! Necesitas pagar tu EMI hoy.") Else Exit Sub End If End Sub 

Paso 7: Esto es todo, ahora cada vez que abra su hoja de trabajo, el sistema ejecutará automáticamente el código anterior y verá si el valor de la fecha en la celda A1 es su fecha de vencimiento EMI o no. Si la fecha de vencimiento de EMI es igual a la fecha del sistema, mostrará el mensaje de la siguiente manera:

Función de fecha VBA - Ejemplo # 3

Fecha de VBA para averiguar el beneficiario de la factura de la tarjeta de crédito

Supongamos que tengo una lista de clientes que tienen una tarjeta de crédito y usted quiere saber quién tiene que pagar hoy. Para que pueda llamarlos y pedirles que paguen su deuda inmediatamente por EOD.

VBA Date podría ser útil para permitirle automatizar las cosas en lugar de verificar las fechas una por una. Veamos cómo hacer esto paso a paso:

Paso 1: definir una nueva macro utilizando un subprocedimiento en un módulo.

Código:

 Sub DateEx3 () End Sub 

Paso 2: defina dos nuevas variables, una de las cuales será útil para recorrer el código y otra para mantener el valor de la fecha actual del sistema.

Código:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Date i = 2 End Sub 

Paso 3: Ahora use el siguiente código que ayuda a buscar a la persona que tiene una fecha de vencimiento de la factura de la tarjeta de crédito como la fecha actual del sistema. Este código permite verificar al Cliente que debe pagar la factura en la fecha actual del sistema junto con el monto de la factura.

Código:

 Sub DateEx3 () Dim DateDue As Date Dim i As Long DateDue = Date i = 2 For i = 2 To Sheets ("CC_Bill"). Cells (Rows.Count, 1) .End (xlUp) .Row If DateDue = DateSerial ( Año (DateDue), Month (Sheets ("CC_Bill"). Cells (i, 3) .Value), Day (Sheets ("CC_Bill"). Cells (i, 3) .Value)) MsgBox "Customer Name:" & Sheets ("CC_Bill"). Cells (i, 1) .Value & vbNewLine & "Premium Amount:" & Sheets ("CC_Bill"). Cells (i, 2) .Value End If Next i End Sub 

Paso 4: Ejecute este código presionando F5 o el botón Ejecutar manualmente y vea la salida.

En la primera iteración, podemos ver que Mohan es el que tiene una factura de 12, 900 con vencimiento el 29 de abril de 2019 (fecha actual del sistema en la que se ejecuta este código). Si damos en Aceptar, podemos ver el próximo nombre del cliente que tiene una factura pendiente el 29 de abril de 2019 (Rajani es el siguiente).

Este código será realmente útil cuando tenga millones de filas de clientes a los que les venza su factura en un día en particular. Tenga en cuenta que todos los scripts mencionados en este artículo se ejecutan el 29 de abril de 2019. Es posible que obtenga un valor de fecha diferente cuando ejecuta estos códigos de muestra en función de la fecha del sistema.

Cosas para recordar

  • La función FECHA VBA devuelve la fecha actual del sistema y como paralela a la función TODAY () de Excel.
  • La función FECHA VBA no tiene ningún argumento para pasar en Excel. Ni siquiera necesita que se invoquen los paréntesis mientras se usa esta función en el código.
  • VBA DATE es una función no volátil en excel.
  • VBA almacena los valores de fecha como DATE en el momento de la ejecución. Por lo tanto, no define un valor de retención variable como un String / Integer. Causará un error durante la ejecución del código.

Artículos recomendados

Esta ha sido una guía para Excel VBA Date. Aquí hemos discutido cómo usar Excel VBA Date Functions junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ¿Qué es el formato de fecha VBA?
  2. Fecha de inserción de Excel | Tutorial de Excel
  3. VBA GoTo | ¿Cómo utilizar?
  4. EDATE Excel Function (Fórmula, Ejemplo)
  5. ¿Qué es VBA DateSerial?

Categoría: