VBA - Obtener la fecha de hoy (fecha actual)

Este tutorial demostrará cómo obtener la fecha de hoy en VBA.

Hay un par de formas de obtener la fecha de hoy en el código VBA, a saber, usando el VBA Fecha() función o el VBA Ahora() funciones.

Función fecha ()

los Fecha() La función nos permite asignar la fecha de hoy a una variable y luego mostrar la fecha en la ventana inmediata en el Editor VBE para ver la fecha de hoy.

123 Dim dtToday as DatedtToday = Fecha ()Debug.Print dtToday

Alternativamente, podemos mostrar la fecha en un cuadro de mensaje.

12345 Fecha de subpruebaDim dtToday as DatedtToday = Fecha ()Msgbox "La fecha de hoy es" & dtTodayEnd Sub

Función Now ()

los Ahora() La función funciona de la misma forma que la función de fecha, pero incluye la hora.

12345 Sub TestDate ()Dim dtHoy como fechadtToday = Ahora ()MsgBox "La fecha de hoy es" & dtTodayEnd Sub

Formateo de fechas con VBA

Tanto en el Fecha() y el Ahora() funciones, la fecha está formateada en un estilo predeterminado según lo determinado por la configuración de nuestra PC. Podemos personalizar este formato usando el VBA Formato función. Como la función de formato devolverá una cadena, debemos declarar una CUERDA variable en lugar de una FECHA variable.

12345 Sub TestDate ()Dim dtToday como cadenadtToday = Formato (Fecha, "dd mmmm aaaa")MsgBox "La fecha de hoy es" & dtTodayEnd Sub

También podemos formatear el Ahora() función para incluir la parte de tiempo en un formato personalizado.

12345 Sub FormatNow ()Dim dtToday como cadenadtToday = Formato (Ahora (), "dd mmmm aa hh: mm: ss am / pm")MsgBox dtTodayEnd Sub

Comparación de 2 fechas con VBA

También podemos usar la función Fecha para comparar la fecha de hoy con una fecha diferente; es posible que deseemos calcular cuántos días faltan para un evento. Podemos hacer esto usando el VBA DateDiff () función que devolverá un número. Por tanto, podemos declarar unENTERO variable para almacenar el valor devuelto.

123456789 Sub TestDateDiff ()Dim dtHoy como fechaDim dtAlguno día como fechaDim iDays como enterodtToday = FechadtSomeDay = "05/06/2021"iDays = DateDiff ("d", dtHoy, dtAlgunaDía)MsgBox "Hay" & iDays & "días entre las 2 fechas"End Sub

Como las fechas se almacenan como números, también podríamos menos la segunda fecha de la primera para obtener la misma respuesta.

1 iDays = dtToday - dtSomeDay

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave