Excel VBA fecha y la hora
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:
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:
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:
hora, minuto, segundo
El obtener la hora de un tiempo, el uso de la función horas.
Código:
MsgBox Hour(Now)
Resultado:
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:
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: