En este tutorial, veremos las diferentes funciones de fecha de VBA integradas.
Función de fecha de VBA
Puede utilizar la función de fecha para devolver la fecha actual.
La sintaxis de la función de fecha es Fecha (). No tiene argumentos.
El siguiente código le muestra cómo utilizar la función de fecha:
12345678 | Sub UsingTheDateFunction ()Atenuar la fecha como fechatheDate = Fecha ()Debug.Print theDateEnd Sub |
El resultado es:
Función VBA Now
Puede utilizar la función Now para devolver la fecha y hora actuales.
La sintaxis de la función Now es Now (). No tiene argumentos.
El siguiente código le muestra cómo utilizar la función Now:
12345678 | Sub UsingTheNowFunction ()Atenuar la fecha como fechatheDate = Ahora ()Debug.Print theDateEnd Sub |
El resultado es:
Función de tiempo de VBA
Puede utilizar la función de hora para devolver la hora actual.
La sintaxis de la función Time es Time (). No tiene argumentos.
El siguiente código le muestra cómo utilizar la función de tiempo:
12345678 | Sub UsingTheTimeFunction ()Atenuar el tiempo como fechatheTime = Hora ()Debug.Print theTimeEnd Sub |
El resultado es:
Función VBA DateAdd
Puede usar la función DateAdd para agregar un intervalo de fecha / hora a una fecha u hora, y la función devolverá la fecha / hora resultante.
La sintaxis de la función DateAdd es:
DateAdd (intervalo, número, fecha) donde:
- Intervalo: una cadena que especifica el tipo de intervalo que se utilizará. El intervalo puede ser uno de los siguientes valores:
"D" - día
"Ww" - semana
"W" - día de la semana
"M" - mes
"Q" - cuarto
"Aaaa" - año
"Y" - día del año
"H" - hora
"N" - minuto
"S" - segundo
- Número: el número de intervalos que desea agregar a la fecha / hora original.
- Fecha: la fecha / hora original.
Nota: Cuando use fechas en su código, debe rodearlas con # o comillas.
El siguiente código muestra cómo utilizar la función DateAdd:
123456789 | Sub UsingTheDateAddFunction ()Atenuar más tarde Fecha como fechalaterDate = DateAdd ("m", 10, "11/12/2019")Debug.Print laterDateEnd Sub |
El resultado es:
Función VBA DateDiff
Puede utilizar la función DateDiff para obtener la diferencia entre dos fechas, según un intervalo de tiempo especificado.
La sintaxis de la función DateDiff es:
DateDiff (Intervalo, Fecha1, Fecha2, [Primer día de la semana], [Primera semana del año]) donde:
- Intervalo: una cadena que especifica el tipo de intervalo que se utilizará. El intervalo puede ser uno de los siguientes valores:
"D" - día
"Ww" - semana
"W" - día de la semana
"M" - mes
"Q" - cuarto
"Aaaa" - año
"Y" - día del año
"H" - hora
"N" - minuto
"S" - segundo
- Fecha1: un valor de fecha que representa la fecha anterior.
- Fecha2: un valor de fecha que representa la fecha posterior.
- Primer dia de la semana (Opcional): Una constante que especifica el día de la semana que la función debe utilizar como primer día de la semana. Si se utiliza el domingo en blanco como primer día de la semana. Firstdayofweek puede ser uno de los siguientes valores:
-vbSunday: utiliza el domingo como primer día de la semana.
-vbMonday: utiliza el lunes como primer día de la semana.
-vbTuesday: utiliza el martes como primer día de la semana.
-vbWed Wednesday: utiliza el miércoles como el primer día de la semana.
-vbThursday: utiliza el jueves como primer día de la semana.
-vbFriday: utiliza el viernes como primer día de la semana.
-vbSaturday: utiliza el sábado como primer día de la semana.
-vbUseSystemDayOfTheWeek: utiliza el primer día de la semana especificado por la configuración de su sistema.
- Primera semana del añoOpcional): Una constante que especifica la primera semana del año. Si está en blanco, la primera semana de enero se utiliza como la primera semana del año. Firstweekofyear puede ser uno de los siguientes valores:
-vbFirstJan1: utiliza la semana que contiene el 1 de enero.
-vbFirstFourDays: utiliza la primera semana que contiene al menos cuatro días del año nuevo.
-vbFirstFullWeek: utiliza la primera semana completa del año.
-vbSystem: utiliza la primera semana del año según lo especificado por la configuración de su sistema.
El siguiente código muestra cómo utilizar la función DateDiff:
123456789 | Sub UsingTheDateDiffFunction ()Atenuar theDifferenceBetweenTwoDates tan largotheDifferenceBetweenTwoDates = DateDiff ("q", "11/11/2010", "10/12/2012")Debug.Print theDifferenceBetweenTwoDatesEnd Sub |
El resultado es:
Función VBA DatePart
Puede utilizar la función DatePart para devolver una parte (día, semana, trimestre, mes, etc.) de una fecha determinada.
La sintaxis de la función DatePart es:
DatePart (Intervalo, Fecha, [Primer día de la semana], [Primera semana del año]) donde:
- Intervalo: una cadena que especifica la parte de la fecha de devolución. El intervalo puede ser uno de los siguientes valores:
"D" - día
"Ww" - semana
"W" - día de la semana
"M" - mes
"Q" - cuarto
"Aaaa" - año
"Y" - día del año
"H" - hora
"N" - minuto
"S" - segundo
- Fecha: la fecha de la que desea que la función devuelva una parte.
- Primer dia de la semana (Opcional): Una constante que especifica el día de la semana que la función debe utilizar como primer día de la semana. Si se utiliza el domingo en blanco como primer día de la semana. Firstdayofweek puede ser uno de los siguientes valores:
-vbSunday: utiliza el domingo como primer día de la semana.
-vbMonday: utiliza el lunes como primer día de la semana.
-vbTuesday: utiliza el martes como primer día de la semana.
-vbWed Wednesday: utiliza el miércoles como el primer día de la semana.
-vbThursday: utiliza el jueves como primer día de la semana.
-vbFriday: utiliza el viernes como primer día de la semana.
-vbSaturday: utiliza el sábado como primer día de la semana.
-vbUseSystemDayOfTheWeek: utiliza el primer día de la semana especificado por la configuración de su sistema.
- Primera semana del añoOpcional): Una constante que especifica la primera semana del año. Si está en blanco, la primera semana de enero se utiliza como la primera semana del año. Firstweekofyear puede ser uno de los siguientes valores:
-vbFirstJan1: utiliza la semana que contiene el 1 de enero.
-vbFirstFourDays: utiliza la primera semana que contiene al menos cuatro días del año nuevo.
-vbFirstFullWeek: utiliza la primera semana completa del año.
-vbSystem: utiliza la primera semana del año según lo especificado por la configuración de su sistema.
El siguiente código le muestra cómo utilizar la función DatePart:
123456789 | Sub UsingTheDatePartFunction ()Atenuar thePartOfTheDate como enterothePartOfTheDate = DatePart ("aaaa", "12/12/2009")Debug.Print thePartOfTheDateEnd Sub |
El resultado es:
Función VBA DateSerial
La función VBA DateSerial toma un año, mes y día de entrada y devuelve una fecha.
La sintaxis de la función DateSerial es:
DateSerial (año, mes, día) donde:
- Año: un valor entero entre 100 y 9999 que representa el año.
- Mes: un valor entero que representa el mes.
- Día: un valor entero que representa el día.
El siguiente código le muestra cómo utilizar la función DateSerial:
123456789 | Sub UsingTheDateSerialFunction ()Atenuar la fecha como fechatheDate = DateSerial (2010, 11, 10)Depurar Imprimir la fechaEnd Sub |
El resultado es:
Función VBA DateValue
La función DateValue devuelve una fecha cuando se le da una representación de cadena de una fecha.
La sintaxis de la función DateValue es:
DateValue (fecha) donde:
- Fecha: una cadena que representa la fecha.
El siguiente código le muestra cómo utilizar la función DateValue:
123456789 | Sub UsingTheDateValueFunction ()Atenuar la fecha como fechatheDate = DateValue ("29 de octubre de 2010")Debug.Print theDateEnd Sub |
El resultado es:
Función de día de VBA
Puede utilizar la función Día para devolver el día de una fecha introducida.
La sintaxis de la función de día es:
Día (Date_value) donde:
- Date_value: la fecha de la que desea extraer el día.
El siguiente código le muestra cómo utilizar la función Día:
123456789 | Sub UsingTheDayFunction ()Atenuar el día como enterotheDay = Day ("12/10/2010")Depurar imprimir el díaEnd Sub |
El resultado es:
Función de hora de VBA
Puede utilizar la función Hora para devolver la hora de una hora de entrada.
La sintaxis de la función Hora es:
Hora (Hora) donde:
- Hora: la hora de la que desea extraer la hora.
El siguiente código le muestra cómo utilizar la función Hora:
123456789 | Sub UsingTheHourFunction ()Atenuar la hora como enterotheHour = Hora ("2:14:17 a. m.")Depurar imprimir la horaEnd Sub |
El resultado es:
Función de minuto de VBA
Puede utilizar la función de minutos para devolver el valor de los minutos de un tiempo de entrada.
La sintaxis de la función Minute es:
Minuto (tiempo) donde:
- Hora: la hora de la que desea extraer el valor de los minutos.
El siguiente código le muestra cómo utilizar la función de minutos:
123456789 | Sub UsingTheMinuteFunction ()Atenuar theMinuteValue como enterotheMinuteValue = Minute ("2:14:17 AM")Debug.Print theMinuteValueEnd Sub |
El resultado es:
Segunda función de VBA
Puede utilizar la Segunda función para devolver el segundo valor de un tiempo de entrada.
La sintaxis de la segunda función es:
Segundo (tiempo) donde:
- Hora: la hora de la que desea extraer el segundo valor.
El siguiente código le muestra cómo utilizar la Segunda función:
123456789 | Sub UsingTheSecondFunction ()Atenuar elSecondValue como enterotheSecondValue = Second ("2:14:17 AM")Debug.Print theSecondValueEnd Sub |
El resultado es:
Función de mes de VBA
Puede utilizar la función Mes para devolver el mes de una fecha de entrada.
La sintaxis de la función Month es:
Mes (valor_de_fecha) donde:
- Date_value: la fecha de la que desea extraer el mes.
El siguiente código le muestra cómo utilizar la función Mes:
12345678 | Sub UsingTheMonthFunction ()Atenuar el mes como enterotheMonth = Month ("18/11/2010")Depurar imprimir el mesEnd Sub |
El resultado es:
Función VBA MonthName
Puede utilizar la función MonthName para devolver el nombre de un mes a partir de un número de mes proporcionado por la entrada.
La sintaxis de la función MonthName es:
MonthName (Number_of_month, [abreviado]) donde:
- Number_of_month: un valor entero entre 1 y 12.
- Abreviar (Opcional): Especifica si se debe abreviar el nombre del mes. Si está en blanco, se utiliza el valor predeterminado de Falso.
12345678 | Sub UsingTheMonthNameFunction ()Atenuar el nombre del mes como cadenatheMonthName = MonthName (12, verdadero)Depurar. Imprimir el nombre del mesEnd Sub |
El resultado es:
Función VBA TimeSerial
La función TimeSerial toma una hora, un minuto y un segundo de entrada y devuelve una hora.
La sintaxis de la función TimeSerial es:
TimeSerial (hora, minuto, segundo) donde:
- Hora: un valor entero entre 0 y 23 que representa el valor de la hora.
- Minuto: un valor entero entre 0 y 59 que representa el valor de los minutos.
- Segundo: un valor entero entre 0 y 59 que representa el segundo valor.
El siguiente código le muestra cómo utilizar la función TimeSerial:
12345678 | Sub UsingTheTimeSerialFunction ()Atenuar el tiempo como fechatheTime = TimeSerial (1, 10, 15)Debug.Print theTimeEnd Sub |
El resultado es:
Función VBA TimeValue
La función TimeValue devuelve una hora a partir de una representación de cadena de una fecha u hora.
La sintaxis de la función TimeValue es:
TimeValue (tiempo) donde:
- Tiempo: una cadena que representa el tiempo.
El siguiente código le muestra cómo utilizar la función TimeValue:
12345678 | Sub UsingTheTimeValueFunction ()Atenuar el tiempo como fechatheTime = TimeValue ("22:10:17")Debug.Print theTimeEnd Sub |
El resultado es:
Función de día de la semana de VBA
Puede utilizar la función de día de la semana para devolver un número entero del 1 al 7 que represente un día de la semana a partir de una fecha de entrada.
La sintaxis de la función de día de la semana es:
Día de la semana (fecha, [primer día de la semana]) donde:
- Fecha: la fecha de la que desea extraer el valor del día de la semana.
- Primer dia de la semana (Opcional): Una constante que especifica el día de la semana que la función debe utilizar como primer día de la semana. Si se utiliza el domingo en blanco como primer día de la semana. Firstdayofweek puede ser uno de los siguientes valores:
-vbSunday: utiliza el domingo como primer día de la semana.
-vbMonday: utiliza el lunes como primer día de la semana.
-vbTuesday: utiliza el martes como primer día de la semana.
-vbWed Wednesday: utiliza el miércoles como el primer día de la semana.
-vbThursday: utiliza el jueves como primer día de la semana.
-vbFriday: utiliza el viernes como primer día de la semana.
-vbSaturday: utiliza el sábado como primer día de la semana.
-vbUseSystemDayOfTheWeek: utiliza el primer día de la semana especificado por la configuración de su sistema.
El siguiente código le muestra cómo utilizar la función de día de la semana:
1234567 | Sub UsingTheWeekdayFunction ()Atenuar el día de la semana como enterotheWeekDay = Día de la semana ("20/11/2019")Depurar Imprimir el día de la semanaEnd Sub |
El resultado es:
Función VBA WeekdayName
Puede utilizar la función WeekdayName para devolver el nombre de un día de la semana a partir de un número de día de la semana proporcionado por la entrada.
La sintaxis de la función WeekdayName es:
WeekdayName (Weekday, [Abreviate], [Firstdayoftheweek]) donde:
- Día de la semana: un valor entero entre 1 y 7.
- Abreviar (Opcional) -Especifica si se debe abreviar el nombre del día de la semana. Si está en blanco, se utiliza el valor predeterminado de Falso.
- Primer dia de la semana (Opcional): Una constante que especifica el día de la semana que la función debe utilizar como primer día de la semana. Si se utiliza el domingo en blanco como primer día de la semana. Firstdayofweek puede ser uno de los siguientes valores:
-vbSunday: utiliza el domingo como primer día de la semana.
-vbMonday: utiliza el lunes como primer día de la semana.
-vbTuesday: utiliza el martes como primer día de la semana.
-vbWed Wednesday: utiliza el miércoles como el primer día de la semana.
-vbThursday: utiliza el jueves como primer día de la semana.
-vbFriday: utiliza el viernes como primer día de la semana.
-vbSaturday: utiliza el sábado como primer día de la semana.
-vbUseSystemDayOfTheWeek: utiliza el primer día de la semana especificado por la configuración de su sistema.
12345678 | Sub UsingTheWeekdayNameFunction ()Atenuar el WeekdayName como cadenatheWeekdayName = WeekdayName (4)Debug.Print theWeekdayNameEnd Sub |
El resultado es:
Función de año de VBA
Puede utilizar la función Año para devolver el año de una fecha de entrada.
La sintaxis de la función Year es:
Año (Date_value) donde:
- Date_value: la fecha de la que desea extraer el año.
El siguiente código le muestra cómo utilizar la función de año:
12345678 | Sub UsingTheYearFunction ()Atenuar el año como enterotheYear = Year ("11/12/2010")Depurar imprimir el añoEnd Sub |
El resultado es:
Comparación de fechas en VBA
Puede comparar fechas usando los operadores>, <y = en VBA. El siguiente código le muestra cómo comparar dos fechas en VBA.
12345678910111213141516171819 | SubcomparingDates ()Dim dateOne como fechaDim date Dos como fechadateOne = "10/10/2010"dateTwo = "11/11/2010"If dateOne> dateTwo EntoncesDebug.Print "dateOne es la fecha posterior"ElseIf dateOne = dateTwo EntoncesDebug.Print "Las dos fechas son iguales"DemásDebug.Print "dateTwo es la fecha posterior"Terminara siEnd Sub |
Obtenga más información sobre cómo dar formato a fechas como cadenas en este tutorial.