¿Cómo usar la función Now en VBA?

La función Now en VBA (Visual Basic for Applications) devuelve la fecha y hora actual del sistema como un valor de tipo Date. Esta función se puede utilizar para almacenar la fecha y hora actual en una variable, imprimir la fecha y hora actual en una hoja de cálculo de Excel, o comparar marcas de tiempo en tus macros.

Asignar la fecha y hora actuales a una variable

Puedes asignar el valor de Now a una variable de tipo Date para usarla más adelante en tu código.

VBA

    Sub EjemploNow()
        ' Asigna la fecha y hora actuales a una variable
        Dim fechaHoraActual As Date
        fechaHoraActual = Now
        
        ' Muestra la fecha y hora actuales en un cuadro de mensaje
        MsgBox "La fecha y hora actual son: " & fechaHoraActual
    End Sub
    

Imprimir la fecha y hora actuales en una hoja de Excel

Si estás automatizando una hoja de cálculo de Excel y quieres insertar la fecha y la hora actuales en una celda específica, puedes hacerlo de la siguiente manera:

VBA

    Sub InsertarFechaHoraActual()
        ' Inserta la fecha y hora actuales en la celda A1 de la hoja activa
        Sheet1.Range("A1").Value = Now
        ' O usa 'ActiveSheet' si quieres hacer referencia a la hoja que está actualmente activa
        ' ActiveSheet.Range("A1").Value = Now
    End Sub
    

Comparar marcas de tiempo o calcular la duración entre eventos

Puedes almacenar la marca de tiempo de un evento usando Now y luego compararla con otra marca de tiempo para calcular, por ejemplo, cuánto tiempo tarda en ejecutarse una parte de tu código.

VBA

    Sub CalcularDuracion()
        ' Captura la hora de inicio
        Dim inicio As Date
        inicio = Now
        
        ' Simula un proceso que lleva tiempo, como una pausa de 5 segundos
        Application.Wait (Now + TimeValue("00:00:05"))
        
        ' Captura la hora de fin
        Dim fin As Date
        fin = Now
        
        ' Calcula la diferencia entre las dos marcas de tiempo
        Dim duracion As Double
        duracion = fin inicio
        
        ' Muestra la duración en un cuadro de mensaje
        MsgBox "La duración fue de: " & duracion * 24 * 60 * 60 & " segundos"
    End Sub
    

Nota

la función Now siempre devuelve la fecha y hora del sistema en el momento en que se invoca, por lo tanto siempre obtendrás la fecha y hora actuales. Utiliza esta función cuando necesites registrar o utilizar marcas de tiempo precisas en tus macros de VBA.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario