Funciones para Fechas en VBA Excel
Las funciones de fecha en VBA para Excel te permiten manipular y trabajar con fechas y horas de forma precisa y eficiente dentro de tus macros.
¿Para Qué Sirve?:
Trabajar con fechas en VBA es útil para:
- Realizar cálculos y análisis basados en fechas.
- Generar informes dinámicos que incluyen fechas actuales y fechas calculadas.
- Crear herramientas de programación de tareas y eventos que dependen del tiempo.
Operaciones Comunes con Fechas en VBA
1. Extraer el Día de una Fecha
Función:Day
La función Daytoma una fecha como argumento y devuelve el día del mes correspondiente a esa fecha.
Sub ExtraerDia()
    Dim fecha As Date
    fecha = #6/5/2024#  ' Fecha en formato mm/dd/yyyy
    MsgBox "El día es " & Day(fecha)
End Sub
Ejercicio:
Escribe una macro que, dada una lista de fechas en una columna de Excel, extraiga y muestre el día de cada fecha.
Sub MostrarDiaDeFechas()
    Dim celda As Range
    For Each celda In Range("A1:A10")
        MsgBox "El día de la fecha " & celda.Value & " es " & Day(celda.Value)
    Next celda
End Sub
2. Extraer el mes de una fecha
Función:Month
La función Monthdevuelve el mes de una fecha como un número entero del 1 al 12.
Sub ExtraerMes()
    Dim fecha As Date
    fecha = #6/5/2024#
    MsgBox "El mes es " & Month(fecha)
End Sub
Ejercicio:
Crea una macro que lea una fecha y muestre el mes correspondiente.
Sub MostrarMesDeFecha()
    Dim fecha As Date
    fecha = #12/25/2023#
    MsgBox "El mes de la fecha es " & Month(fecha)
End Sub
3. Extraer el Año de una Fecha
Función:Year
La función Yeardevuelve el año de una fecha como un número entero.
Sub ExtraerAno()
Dim fecha As Date
fecha = #6/5/2024#
MsgBox "El año es " & Year(fecha)
End SubEjercicio:
Escribe una macro que tome una fecha y devuelva el año correspondiente.
Sub MostrarAnoDeFecha()
    Dim fecha As Date
    fecha = #7/4/2021#
    MsgBox "El año de la fecha es " & Year(fecha)
End Sub
4. Mostrar el Nombre del Mes
Función:Format
Utiliza la función Formatpara mostrar el nombre completo del mes.
Sub NombreMes()
Dim fecha As Date
fecha = #6/5/2024#
MsgBox "El nombre del mes es " & Format(fecha, "mmmm")
End SubEjercicio:
Crea una macro que muestre el nombre del mes de una fecha introducida por el usuario.
Sub MostrarNombreDelMes()
    Dim fecha As Date
    fecha = InputBox("Introduce una fecha (mm/dd/yyyy):")
    MsgBox "El nombre del mes es " & Format(fecha, "mmmm")
End Sub
5. Sumar o Restar Días a una Fecha
Función:DateAdd
La función DateAddpermite sumar o reiniciar intervalos de tiempo a una fecha. Para días, se usa el argumento "d".
Sub SumarRestarDias()
    Dim fecha As Date
    fecha = #6/5/2024#
    Dim nuevaFecha As Date
    nuevaFecha = DateAdd("d", 10, fecha)  ' Sumar 10 días
    MsgBox "La nueva fecha es " & nuevaFecha
End Sub
Ejercicio:
Escribe una macro que reste 7 días a una fecha dada.
Sub RestarDiasAFecha()
    Dim fecha As Date
    fecha = #12/25/2023#
    MsgBox "7 días antes es " & DateAdd("d", -7, fecha)
End Sub
6. Sumar o Restar Meses a una Fecha
Función:DateAdd
Para sumar o descansar meses, se usa el argumento "m".
Sub SumarRestarMeses()
    Dim fecha As Date
    fecha = #6/5/2024#
    Dim nuevaFecha As Date
    nuevaFecha = DateAdd("m", 3, fecha)  ' Sumar 3 meses
    MsgBox "La nueva fecha es " & nuevaFecha
End Sub
Ejercicio:
Escribe una macro que reste 2 meses a una fecha introducida por el usuario.
Sub RestarMesesAFecha()
    Dim fecha As Date
    fecha = InputBox("Introduce una fecha (mm/dd/yyyy):")
    MsgBox "2 meses antes es " & DateAdd("m", -2, fecha)
End Sub
7. Sumar o Restar Años a una Fecha
Función:DateAdd
Para sumar o restablecer años, se usa el argumento "yyyy".
Sub SumarRestarAnos()
    Dim fecha As Date
    fecha = #6/5/2024#
    Dim nuevaFecha As Date
    nuevaFecha = DateAdd("yyyy", 1, fecha)  ' Sumar 1 año
    MsgBox "La nueva fecha es " & nuevaFecha
End Sub
Ejercicio:
Crea una macro que suma 5 años a la fecha actual.
Sub SumarAnosAFechaActual()
    Dim fechaActual As Date
    fechaActual = Date
    MsgBox "En 5 años será " & DateAdd("yyyy", 5, fechaActual)
End Sub
8. Obtener la Fecha Actual con VBA
Función:Date
La función Datedevuelve la fecha actual del sistema.
Sub FechaActual()
    Dim fechaHoy As Date
    fechaHoy = Date
    MsgBox "La fecha actual es " & fechaHoy
End Sub
Ejercicio:
Escribe una macro que muestre la fecha actual y el día de la semana.
Sub MostrarFechaYDiaActual()
    Dim fechaHoy As Date
    fechaHoy = Date
    MsgBox "Hoy es " & Format(fechaHoy, "dddd, dd mmmm yyyy")
End Sub 
		 
				 
				 
				 
				 
				 
				
Responses