VBA – Obtener la fecha de hoy (fecha actual)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on abril 1, 2022

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

Hay un par de maneras de obtener la fecha de hoy en el código VBA, a saber, utilizando la función VBA Date() o las funciones VBA Now().

Función Date()

La función Date () devuelve la fecha de hoy.

En el siguiente ejemplo, asignamos la fecha de hoy a una variable y luego mostramos la fecha en la ventana inmediata del Editor VBE.

 

Dim dFechaActual As Date
dFechaActual = Date
Debug.Print dFechaActual

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

Sub PruebaFecha
  Dim dtToday as Date
  dtToday = Fecha()
  Msgbox "La fecha de hoy es " & dtToday
End Sub

Fecha actual

Función Now()

La función Now( ) funciona de la misma manera que la función de fecha, pero incluye la hora.

Sub PruebaFechaHora()
  Dim dtHoy As Date
  dtHoy = Now()
  MsgBox "La fecha de hoy es " & dtHoy
End Sub

Fecha hora actual

 

Formateando Fechas con VBA

Tanto en la función Date() como en la función Now(), la fecha se formatea con un estilo predeterminado por la configuración de nuestro PC. Podemos personalizar este formato utilizando la función Formato de VBA. Como la función de formato devolverá una cadena, necesitamos declarar una variable STRING en lugar de una variable DATE.

Sub PruebaFechaFormateada()
   Dim dFecha As String
   dFecha = Format(Date, "dd mmmm yyyy")
   MsgBox "La fecha de hoy es " & dFecha
End Sub

Fecha hora actual formateada

También podemos formatear la función Now() para incluir la parte de la hora en un formato personalizado.

Sub NowFormateado()
  Dim dAhora As String
  dAhora = Format(Now(), "dd mmmm yy hh:mm:ss am/pm")
  MsgBox dAhora
End Sub

Now formateado

 

Comparación de 2 fechas con VBA

También podemos utilizar la función Date para comparar la fecha de hoy con una fecha diferente – ¡podríamos querer calcular cuántos días faltan para un evento! Podemos hacerlo utilizando la función VBA DateDiff() que devolverá un número. Por lo tanto, podemos declarar una variable INTEGER para almacenar el valor devuelto.

Sub Prueba_DateDiff()
    Dim dHoy As Date
    Dim dOtroDia As Date
    Dim diferenciaDias As Integer
    dHoy = Date
    dOtroDia = "05/06/2022"
    diferenciaDias = DateDiff("d", dHoy, dOtroDia)
    MsgBox "Hay " & diferenciaDias & " días entre las 2 fechas"
End Sub

Diferencia dias

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

diferenciaDias = dHoy - dOtroDia
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples