Función de fecha de VBA

Función Excel VBA DATE

VBA Date es una función de fecha y hora, devuelve solo la fecha actual según la fecha del sistema que está utilizando, también lo importante a tener en cuenta es que esta función no tiene argumentos en absoluto, otro factor importante a recordar es que esta función devuelve la fecha actual del sistema.

En Excel no podemos vivir sin algunas de las funciones y "VBA Date" es una de esas funciones. Si usted es un usuario frecuente de la hoja de trabajo de Excel, entonces debe tener en cuenta una función llamada "HOY ()" que devolverá la fecha actual según la fecha del sistema.

La fecha es una función muy simple y devuelve solo la fecha actual según la fecha del sistema que está utilizando. Esto funciona de manera muy similar a nuestra función de hoja de trabajo "HOY", pero no de naturaleza volátil.

La sintaxis de la función FECHA de Excel es muy simple porque no tiene ningún argumento que proporcionar e incluye solo paréntesis vacíos.

Fecha ()

Los paréntesis están ahí solo para explicar la función cuando usa la función sin necesidad de ingresar paréntesis.

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

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

Ejemplo 1

Suponga que desea insertar la fecha actual en la celda A1 y luego siga los pasos a continuación para escribir el código para insertar la fecha actual en la celda A1.

Paso 1: crea un nombre de macro.

Código:

 Sub Date_Example1 ()

Paso 2: Como necesitamos almacenar la fecha actual en la celda A1, nuestro código será Rango (“A1”). Valor .

Código:

 Sub Date_Example1 () Rango ("A1"). Valor End Sub 

Paso 3: En la celda A1 necesitamos la fecha actual, así que use la función FECHA.

Código:

 Sub Date_Example1 () Rango ("A1"). Valor = Fecha final Sub 

Paso 4: Ok, hemos terminado. Ejecutemos este código ahora presionando la tecla F5 o también puede ejecutar el código manualmente como se muestra en la siguiente captura de pantalla. Obtendremos la fecha actual en la celda A1.

Entonces, cuando estoy escribiendo este código, la fecha actual en mi sistema es "15 de marzo de 2019".

Nota: El formato  de su fecha depende de la configuración de Windows. De todos modos, puede cambiar el formato de la fecha en las celdas de formato.

Ejemplo # 2

Suponga que es un agente LIC y tiene varios clientes con los que tratar. Uno de los objetos clave es saber quién vence el pago hoy para poder llamarlos y cobrar el pago de inmediato.

Suponga que a continuación está la lista de clientes que tiene en su base de datos.

Ya escribí un código que le notificará tan pronto como abra el archivo de Excel.

Código:

 Sub Due_Notifier () Dim Duedate As Date Dim i As Long Duedate = Date i = 2 For i = 2 To Cells (Rows.Count, 1) .End (xlUp) .Row If Duedate = DateSerial (Year (Date), Month ( Celdas (i, 3) .Valor), Día (Celdas (i, 3) .Valor)) Luego, MsgBox "Nombre del cliente:" & Celdas (i, 1) .Value & vbNewLine & "Importe de la prima:" & Celdas (i , 2) .Value End If Next i End Sub 

Copie el código anterior y péguelo en el módulo VBA.

Ahora haga doble clic en la opción "Este libro".

Ahora seleccione "Libro de trabajo" en el menú desplegable anterior.

Tan pronto como seleccione la opción "Libro de trabajo", puede ver que se abre automáticamente una macro privada.

Aquí el nombre de la macro dice "Workbook_Open ()", esto significa que cada vez que este libro se abre, lo que tiene que hacer. Siempre que se abra este libro, debemos ejecutar la macro que hemos creado.

Entonces, aquí debemos llamar a nuestra macro que hemos creado por su nombre. En el código anterior, nuestro nombre de macro es "Due_Notifier".

Código:

 Llamar Due_Notifier

Ahora guarde este libro y ciérrelo.

Después de cerrarlo, abra el libro de trabajo y vea la magia.

Ahora abriré….

¡¡¡Guau!!! Me muestra el nombre del cliente y su monto adeudado para la fecha actual.

El nombre del cliente es “Amar” y el monto adeudado es “20883”. La razón por la que muestra este nombre de cliente es que la fecha de vencimiento del Sr. Amar es el 15 de marzo de 2019, es decir, hoy.

Ahora haga clic en Aceptar, se mostrarán otros nombres de clientes si la fecha de vencimiento es hoy.

Muestra el nombre del Sr.Arvind, su fecha de vencimiento también es el 15 de marzo de 2019.

Ahora, puede identificar fácilmente los nombres de los clientes tan pronto como llegue a la oficina. Uno de los grandes dolores de cabeza se ha ido.

Del mismo modo, he creado una macro de Excel más que enviará correos electrónicos de cumpleaños automáticos desde su perspectiva.

Ejemplo # 3

Suponga que está en un “Equipo de participación de empleados” y es responsable de enviar correos electrónicos de cumpleaños a sus empleados. Identificar y enviar el correo electrónico a todos y cada uno por separado es un trabajo doloroso.

Hola, querido amigo, no te preocupes, he creado una macro para que envíes los correos electrónicos de cumpleaños automáticos a tus empleados.

I have created some data to test and below is the image of the same.

You just need to update the employee master according to the headings of the table. Below is the code to send the emails.

Copy the below code and paste in the module.

 Sub Birthday_Wishes() Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim Mydate As Date Dim i As Long Set OutlookApp = New Outlook.Application Mydate = Date i = 2 For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row Set OutlookMail = OutlookApp.CreateItem(olMailItem) If Mydate = DateSerial(Year(Date), Month(Cells(i, 5).Value), Day(Cells(i, 5).Value)) Then OutlookMail.To = Cells(i, 7).Value OutlookMail.CC = Cells(i, 8).Value OutlookMail.BCC = "" OutlookMail.Subject = "Happy Birthday - " & Cells(i, 2).Value OutlookMail.Body = "Dear " & Cells(i, 2).Value & "," & vbNewLine & vbNewLine & _ "We wish you a happy birhday on behalf of the management and we wish all the success in the coming future" & vbNewLine & _ vbNewLine & "Regards," & vbNewLine & "StrIDE Team" OutlookMail.Display OutlookMail.Send End If Next i End Sub 

As soon as you come to the office just open the file and run this code, it will automatically send birthday wishes to the respective email id’s.

Note: You should have Outlook configured in your system.