/ / Excel VBA Fecha y Hora

Fecha y hora de Excel VBA

Año, mes, día de una fecha | FechaAgregar | Fecha y hora actual | Hora, minuto, segundo | Valor del tiempo

Aprende a trabajar con fechas y horarios en Excel VBA.

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código. Para ejecutar las líneas de código, haga clic en el botón de comando en la hoja.

Año, mes, día de una fecha

La siguiente macro obtiene el año de una fecha. Para declarar una fecha, use la instrucción Dim. Para inicializar una fecha, use la función DateValue.

Código:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Resultado:

Año de una fecha en Excel VBA

Nota: use Mes y día para obtener el mes y el día de una fecha.

FechaAgregar

Para agregar un número de días a una fecha, use laFunción DateAdd. La función DateAdd tiene tres argumentos. Rellene "d" para el primer argumento para agregar días. Complete 3 para el segundo argumento para agregar 3 días. El tercer argumento representa la fecha a la que se agregará el número de días.

Código:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jun 19, 2010")
secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Resultado:

FechaAgregar

Nota: Cambie "d" a "m" para agregar una cantidad de meses a una fecha. Coloque el cursor en DateAdd en el Editor de Visual Basic y haga clic en F1 para obtener ayuda sobre los otros especificadores de intervalo. Las fechas están en formato estadounidense. Meses primero, días segundo. Este tipo de formato depende de la configuración regional de Windows.

Fecha y hora actual

Para obtener la fecha y hora actuales, use la función Ahora.

Código:

MsgBox Now

Resultado:

Fecha y hora actual

Hora, minuto, segundo

Para obtener la hora de un tiempo, use la función Hora.

Código:

MsgBox Hour(Now)

Resultado:

Hora de la hora actual

Nota: use Minuto y Segundo para obtener el minuto y el segundo de un tiempo.

Valor del tiempo

La función TimeValue convierte una cadena en un número de serie de tiempo. El número de serie de la hora es un número entre 0 y 1. Por ejemplo, el mediodía (a mitad del día) se representa como 0.5.

Código:

MsgBox TimeValue("9:20:01 am")

Resultado:

Valor del tiempo

Ahora, para ver claramente que Excel maneja los tiempos internamente como números entre 0 y 1, agregue las siguientes líneas de código:

Dim y As Double
y = TimeValue("09:20:01")
MsgBox y

Resultado:

Número de serie de tiempo

Lea también: