¿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:

VBA

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:

VBA

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 nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario