La función VBA WeekdayName devuelve el nombre del día de la semana en función de su número.
WeekdayName(fecha)
O
WeekdayName(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:
WeekdayName(fecha, 2)
Usando la función WeekdayName para mostrar el nombre de los 7 días:
Sub WeekdayNameExample1() MsgBox WeekdayName(1) 'Devoluciones: lunes MsgBox WeekdayName(2) 'Devoluciones: martes MsgBox WeekdayName(3) 'Devoluciones: miércoles MsgBox WeekdayName(4) 'Devoluciones: jueves MsgBox WeekdayName(5) 'Devoluciones: viernes MsgBox WeekdayName(6) 'Devoluciones: Sábado MsgBox WeekdayName(7) 'Devoluciones: Domingo End Sub
La función WeekdayName también puede mostrar una versión abreviada del día pasando un valor como segundo argumento:
Sub WeekdayNameExample2() MsgBox WeekdayName(1, True) 'Devoluciones: lun. MsgBox WeekdayName(2, True) 'Devoluciones: mar. MsgBox WeekdayName(3, True) 'Devoluciones: mié. MsgBox WeekdayName(4, True) 'Devoluciones: jue. MsgBox WeekdayName(5, True) 'Devoluciones: Vie. MsgBox WeekdayName(6, True) 'Devoluciones: sáb. MsgBox WeekdayName(7, True) 'Devoluciones: dom. End Sub
Usando las funciones Weekday y WeekdayName, puede obtener el nombre del día de la semana a partir de una fecha:
Sub WeekdayNameExample3() MsgBox WeekdayName(Weekday("30/11/2020", 2)) 'Devoluciones: lunes End Sub
Aunque es más fácil ir directamente a través de la función de formato FORMAT:
Sub WeekdayNameExample4() MsgBox Format("30/11/2020", "dddd") 'Devoluciones: lunes End Sub