La función VBA Weekday devuelve el número del día de la semana (del 1 al 7) para la fecha dada.
Weekday(fecha)
O
Weekday(fecha, primer_día_de_la_semana)
Por defecto, el primer día de la semana es el domingo (1) y el último día es el sábado (7).
Para cambiar la numeración de modo que el lunes sea el primer día de la semana (1) y el domingo sea el último día de la semana (7), agregue el valor 2 como segundo argumento al usar esta función:
Weekday(fecha, 2)
Usando la función Weekday para mostrar el número del día de la semana para varias fechas:
Sub WeekdayExample1() MsgBox Weekday(#11/2/2020#, 2) 'Devoluciones: 1 MsgBox Weekday("3.11.20", 2) 'Devoluciones: 2 MsgBox Weekday("4 nov 2020", 2) 'Devoluciones: 3 MsgBox Weekday("5/11/2020 17:30:21", 2) 'Devoluciones: 4 End Sub
Usando la función Weekday para distinguir entre un día de la semana y un fin de semana:
Sub WeekdayExample2() If Weekday(Now, 2) < 6 Then MsgBox "Día laborable..." Else MsgBox "¡Es el fin de semana!" End If End Sub