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

La función `Weekday` en VBA se utiliza para determinar el día de la semana de una fecha específica. Devuelve un número entero que representa el día de la semana. Por defecto, el domingo es considerado el primer día, y la numeración va del 1 (domingo) al 7 (sábado).

Aquí tienes una explicación sobre cómo usar la función `Weekday` en VBA:

Sintaxis

Weekday(Date, [FirstDayOfWeek])
  • Date: Es un valor de tipo `Variant`, `Date` o cualquier expresión que pueda convertirse en una fecha.
  • FirstDayOfWeek: Es opcional. Es un valor numérico que especifica el primer día de la semana. Si no se proporciona, el domingo se considera como el primer día. Los valores posibles son:
    • `vbUseSystem` (0): Usa la configuración regional del sistema
    • `vbSunday` (1): Domingo (valor por defecto)
    • `vbMonday` (2): Lunes
    • `vbTuesday` (3): Martes
    • `vbWednesday` (4): Miércoles
    • `vbThursday` (5): Jueves
    • `vbFriday` (6): Viernes
    • `vbSaturday` (7): Sábado

Ejemplo

Aquí hay un ejemplo sencillo de cómo usar la función `Weekday`:

Sub EjemploWeekday()
    Dim fecha As Date
    Dim diaSemana As Integer
    
    ' Asigna una fecha
    fecha = #10/25/2023# ' Formato de fecha: mes/día/año
    
    ' Obtiene el día de la semana de la fecha indicada
    diaSemana = Weekday(fecha)
    
    ' Muestra el resultado
    Select Case diaSemana
        Case 1
            MsgBox "El día es Domingo"
        Case 2
            MsgBox "El día es Lunes"
        Case 3
            MsgBox "El día es Martes"
        Case 4
            MsgBox "El día es Miércoles"
        Case 5
            MsgBox "El día es Jueves"
        Case 6
            MsgBox "El día es Viernes"
        Case 7
            MsgBox "El día es Sábado"
    End Select
End Sub

En este ejemplo, la variable `fecha` está configurada para una fecha específica, y `Weekday` devuelve un número que representa el día de la semana, que luego se utiliza en una estructura `Select Case` para mostrar un mensaje que indica el día correspondiente. Puedes personalizar este ejemplo cambiando la fecha o especificando un valor para `FirstDayOfWeek` si necesitas que la semana comience en un día diferente.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project