Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función WeekdayName

| 5 comentarios

La función Weekdayname es utilizada para conseguir el nombre del día de la semana que se requiera. Esta función requiere que se defina primero el parámetro FirstDayOfWeek que significa Primer día de la semana.

La función completa es la siguiente:

WeekDayName(weekday[, abbreviate][, firstdayofweek])

Donde los Argumentos son:

Weekday: Es un valor que indica el día de la semana. Dependerá de la definición del primer día de la semana que se establezca con el parámetro FirstDayOfWeek.

Abbreviate: Aquí se indica si el nombre del día que se presentará se abrevia o no. Es opcional su uso. De no utilizarse el valor predeterminado es False.

Firstdayofweek: Es un valor numérico para indicar el primer día de la semana. También es de uso opcional.

Para establecer el primer día de la semana se pueden utilizar los siguientes valores:

vbSunday, cuyo valor es 1 y es predeterminado para el domingo

vbMonday, cuyo valor es 2 y es predeterminado para el lunes

vbTuesday, cuyo valor es 3 y es predeterminado para el martes

vbWednesday, cuyo valor es 4 y es predeterminado para el miércoles

vbThursday, cuyo valor es 5 y es predeterminado para el jueves

vbFriday, cuyo valor es 6 y es predeterminado para el viernes

vbSaturday, cuyo valor es 7 y es predeterminado para el sábado

Ejemplo 1:

Sub Nombrediaabreviado()

'Funcion para mostrar nombre del día según fecha indicada con abreviatura

Nombredeldia = #7/22/2012#
DiaSeleccionado = WeekdayName(Weekday(Nombredeldia), True, vbSunday)

End Sub

Con esta función se demostrará el nombre del día 22 de Julio del 2012 en forma abreviada.

La fecha está en formato #Mes/Dia/Año#

Imagen1 300x88 Función WeekdayName

(Para mayor visualización de la imagen, hacer click en la misma)

 

Ejemplo 2:

Sub Nombrediasinabreviar()

'Funcion para mostrar nombre del día según fecha indicada sin abreviatura

Nombredeldia = #7/22/2012#
DiaSeleccionado = WeekdayName(Weekday(Nombredeldia), False, vbSunday)

End Sub

La fecha está en formato #Mes/Dia/Año#

Con esta función se muestra el nombre del día seleccionado, en este caso nuevamente el 22 de julio del 2012, pero esta vez sin abreviaturas. Para conseguir esto en lugar de colocar True en "abbreviate" se está colocando False.

Imagen2 300x133 Función WeekdayName

(Para mayor visualización de la imagen, hacer click en la misma)

 

Ejemplo 3:

Sub Nombrediasinabreviar2()

'Funcion para mostrar nombre del día según fecha indicada sin abreviatura

Nombredeldia = Range("A1")
DiaSeleccionado = WeekdayName(Weekday(Nombredeldia), False, vbSunday)

End Sub

En este caso se está colocando la formula relacionada a una celda especifica del libro en Excel. En el ejemplo es la celda A1 en donde se coloca la fecha 21 de diciembre de 1994 que cae miércoles. Se adjunta la imagen de pantalla.

Imagen3 300x204 Función WeekdayName

(Para mayor visualización de la imagen, hacer click en la misma)

 

Elaborado por : Elias Carlos Cabana

5 comentarios

  1. Tengo una consulta sobre este parámetro Firstdayofweek, en los ejemplos utilizan el valor de vbSunday, pero si lo cambio por vbFriday u otro, el valor de la variable DiaSeleccionado cambia, alguien me podría explicar porque sucede esto, gracias de antemano.

  2. es muy útil para los problemas de flujo de caja, ya que podría indicar el día desde que empezo el préstamos, por ejemplo, hasta el día que concluyo y calcular los intereses abonados en ese periodo

  3. Hay alguna forma de cambiar el formato de Mes-Día-Año al que utilizamos nosotros, es decir, al dia-mes-año. En un ejemplo explico para que me parece util esta función. Cuando una empresa tiene política de pagar todos los lunes de la semana a sus proveedores,podrá organizar mejor sus flujos en los meses futuros pues puede determinar en que semana se paga con exaactitud a cada proveedor sin necesidad de ver el calendario en paralelo con el excel.

  4. yo quiero obtener las fechas que estan comprendidas entre dos fechas y omitir los sabados y domingos, obterlas y mostrarlas no contar cuantoas dias hay entre esas dos fechas, si me explico.

  5. Saludos, una alternativa más sencilla:
    function nombredeldia

    fecha=date ' Esta es la fecha de la que queremos el nombre del día
    nombredia= format(date,"DDDD") ' Si lo quieren abreviar coloquen tres D en lugar de 4.

    msgbox nombredia

    end function

Deja una respuesta

Los campos requeridos estan marcados con *.