¿Cómo usar la función Weekday en VBA?

La función `Weekday` en VBA (Visual Basic for Applications) devuelve un número que representa el día de la semana de una fecha especificada. Este número puede variar dependiendo del sistema que se use, pero por defecto, el domingo se representa por 1 y el sábado por 7.

Aquí tienes un ejemplo básico de cómo usar la función `Weekday`:

Sub EjemploWeekday()
    Dim fecha As Date
    Dim diaDeLaSemana As Integer
    
    ' Asignamos una fecha
    fecha = "2023-03-31" ' 31 de marzo de 2023 por ejemplo
    
    ' Usamos la función Weekday para obtener el día de la semana
    diaDeLaSemana = Weekday(fecha)
    
    ' Mostramos el resultado en un cuadro de mensaje
    MsgBox "El día de la semana para la fecha es: " & diaDeLaSemana
End Sub

Cuando ejecutes este código VBA, verás un cuadro de mensaje que te dirá qué número de día de la semana es la fecha dada (según la configuración por defecto, donde el domingo es 1).

Puedes cambiar el primer día de la semana que considera VBA con un segundo argumento, `Weekday(fecha, primerDiaDeLaSemana)`:

  • `vbUseSystemDayOfWeek` – Usa la configuración regional del sistema (valor por defecto si no se especifica)
  • `vbSunday` – Domingo (valor 1)
  • `vbMonday` – Lunes (valor 2)
  • `vbTuesday` – Martes (valor 3)
  • `vbWednesday` – Miércoles (valor 4)
  • `vbThursday` – Jueves (valor 5)
  • `vbFriday` – Viernes (valor 6)
  • `vbSaturday` – Sábado (valor 7)

Si quisieras que la semana empezara el lunes y obtener el número correspondiente al día de la semana con este cambio, lo haces de la siguiente manera:

Sub EjemploWeekdayConPrimerDia()
    Dim fecha As Date
    Dim diaDeLaSemana As Integer
    fecha = "2023-03-31"

    diaDeLaSemana = Weekday(fecha, vbMonday)
    MsgBox "El día de la semana comenzando por lunes para la fecha es: " & diaDeLaSemana
End Sub

En este caso, si la fecha cayera en un lunes, `diaDeLaSemana` sería 1. Si cayera en un domingo, sería 7, dado que se ha configurado el lunes como el inicio de la semana.

Conoce nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario