Capítulo 62. Funciones para el Manejo de Fechas

0

 


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 Day toma 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 Month devuelve 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 Year devuelve 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 Sub


Ejercicio:

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 Format para 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 Sub


Ejercicio:

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 DateAdd permite 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 Date devuelve 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



© Todos el contenido de este curso está sujeto a derechos de propiedad por las leyes de Derechos de Autor y demás Leyes relativas Internacionales por Aprendiendo ẽXcel365 | jose alcalde alias

Entradas que pueden interesarte

Sin comentarios

Etiquetas:
#aprendiendoexcel365, #josealcaldealias, #Excel, #funciones, #UDF, #Visual Basic, #VBA, #DAX, #Tips, #Basico, #Microsoft Excel, #Cursos Excel OnLine, #Aprende Excel, #Aprende Excel OnLine, #Excel 365, #Power Pivot, #Power BI, #Power Query, #Google Sheets, #Macros, #Código VBA, #Tutoriales Excel, #MTV, #Vbscript, #TypeScript, #Lenguaje M, #fórmulas, #funciones, #paso a paso, #funciones Excel, #libros, #tablas, #formatos, #hojas, #datos, #gráfico, #análisis de datos, #base de datos, #dashboards, #tablas dinámicas, #excel desde cero, #hoja de cálculo, #plantillas de Excel