Aprender a trabajar con fechas y horas en Excel VBA.

Coloque un enlace: / # comando botón [botón de comando] VBA macro-a-crear- en su hoja de trabajo y añadir las líneas de código a continuación. 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 la fecha

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

Código:

Dim exampleDate As Date



exampleDate = DateValue("Jan 19, 2020")

MsgBox Year(exampleDate)

Resultado:

Year of a Date in Excel VBA

Nota: El uso mes y día para obtener el mes y el día de la fecha.

DateAdd

Para añadir un número de días a una fecha, utilice la función DateAdd. La función DateAdd tiene tres argumentos. Rellenar «d» para el primer argumento para agregar días. Rellene 3 para el segundo argumento para añadir 3 días. El tercer argumento representa la fecha a la que se añadirá el número de días.

Código:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jan 19, 2020")

secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Resultado:

DateAdd

Nota: El cambio «D» a «m» para añadir un número de meses para una fecha. Coloca 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 de Estados Unidos. Meses primera, segunda Días. Este tipo de formato depende de las ventanas de la configuración regional.

Fecha y hora actuales

Para obtener la fecha y hora actuales, utilice la función ahora.

Código:

MsgBox Now

Resultado:

Current Date and Time

hora, minuto, segundo

El obtener la hora de un tiempo, el uso de la función horas.

Código:

MsgBox Hour(Now)

Resultado:

Hour of the Current Time

Nota: El uso minutos y segundos para conseguir el minuto y segundo de una vez.

TimeValue

La función TimeValue convierte una cadena en un número de serie de tiempo. número de serie del tiempo es un número entre 0 y 1. Por ejemplo, el mediodía (a medio camino a través del día) se representa como 0,5.

Código:

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

Resultado:

TimeValue

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

Dim y As Double

y = TimeValue("09:20:01")

MsgBox y

Resultado:

Time Serial Number