Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función Now en VBA

| 30 comentarios

La función Now obtiene el día y la fecha del momento en el cual se ejecuta el comando.

Dicha información puede mostrarse en pantalla a través de un “cuadro de diálogo”, registrarse en alguna celda de una hoja de cálculo o tan sólo almacenarse en alguna variable.

Para mostrar a través de cuadro de diálogo: MsgBox Now

Para registrarlo en una celda de Excel : Range("A2") = Now

También podemos obtener algún parámetro de now (para almacenamiento y posterior operación en alguna variable) tal como el año, mes,  fecha, hora, minutos, etc, a través de los siguientes comandos:

y = Year(Now)

m = Month(Now)

d= Day(Now)

h= Hour(Now)

m= Minute (Now)

Una aplicación posible para la función Now es para un sistema de registro de asistencia. Cada vez que un trabajador llegue a su centro laboral, se hace uso de la función "Now" para obtener la fecha y hora de entrada.  La información se escribe en dos celdas por separado: una indica la fecha y otra celda indica la hora.

Range("A2") = DateValue(Now)

Range("A3") = TimeValue(Now)

Descargar ejemplo de la función Now

30 comentarios

  1. Holas.- Intento usar la función now para registrar el tiempo pero solo para la primera vez que se escriba algo en el rango especificado de celdas.
    Hasta ahora he logrado registrar el tiempo pero para cada vez que hay un cambio en la hoja, pero necesito ayuda para que sea solo la primera modificación dentro del rango.
    Esto es lo que tengo hasta ahora, que me falta?. Gracias.
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("D5:D104")) Is Nothing Then
    Exit Sub
    Else
    Sheets("Tiempo").Range("C3") = TimeValue(Now)
    End If
    End Sub

  2. Fernando para hacer lo que quieres tienes que poner:
    Range(“A2”) = Format(Now, "dd/mm/yyyy")

  3. Buen día, me encuentro realizando una bitácora en Excel con ayuda de una macro y requiero que se grabé la fecha y hora y mi problema es que la hora que se registra es la del momento de iniciar el reporte pero necesito la del final, estoy usando Date y Time para fecha y hora respectivamente.
    Si me pudieran ayudar se los agradecería mucho.

  4. Hola, tengo problemas con esdta macro:

    Sub HORA()
    Sheet1.Range("AL1").Formula = ("=Now()")
    Application.OnTime Now + TimeValue("00:00:01"), "hora"
    End Sub
    Sub auto_open()
    HORA
    End Sub

    Me funciona bien en el archivo en el que lo uso; pero cuando abro otro me pide finalizarlo y la hora deja de actualizarce hasta que cierre y abra de nuevo el archivo.

  5. Hola Amigo. Estoy buscando definir el tipo de horario en que se realiza una venta. Para ello uso la funcion si con Y para definir horario mañana y tarde dentro de dos rangos de tiempo, pero no me define correctamente el horario si la hora que uso proviene de la funcion ahora(), ya que esta trae fecha y hora. mi pregunta es: es posible extraer solo la hora de la funcion ahora().

    • *Intenta cambiando el formato de la celda, a mi me resultó.

Página de comentarios 2 de 2
1 2

Deja una respuesta

Los campos requeridos estan marcados con *.