Funkcja WeekDay

Ta funkcja zwraca liczbę odpowiadającą dniu tygodnia reprezentowanemu przez kolejny numer daty, który jest generowany przez funkcje DateSerial lub DateValue.

note

Ta strona pomocy opisuje funkcję WeekDay używaną w skryptach Basic. Jeśli interesuje Cię funkcja WeekDay używana w programie LibreOffice Calc, zapoznaj się z tą stroną pomocy.


Składnia:


  WeekDay (SerialDate, [FirstDayOfWeek])

Parametry:

SerialDate: Wyrażenie całkowite zawierające kolejny numer daty, który jest używany do obliczania dnia tygodnia.

FirstDayOfWeek: Wartość całkowita wskazująca, który dzień tygodnia należy uznać za pierwszy dzień tygodnia. Wartość domyślna to 0, co oznacza, że do określenia pierwszego dnia tygodnia używane są ustawienia regionalne systemu.

Parametr FirstDayOfWeek przyjmuje wartości z zakresu od 0 do 7. Poniższa tabela opisuje znaczenie każdej możliwej wartości:

Wartość

Stałe VBA

Opis

0

vbUseSystemDayOfWeek

Używanie ustawień regionalnych systemu

1

vbSunday

niedziela (domyślnie)

2

vbMonday

poniedziałek

3

vbTuesday

wtorek

4

vbWednesday

środa

5

vbThursday

czwartek

6

vbFriday

piątek

7

vbSaturday

sobota


note

Wymienione powyżej stałe VBA są dostępne tylko wtedy, gdy włączona jest obsługa języka VBA. Aby uzyskać więcej informacji, przeczytaj stronę pomocy Instrukcja VBASupport.


Zwracana wartość:

Liczba całkowita

Kody błędów:

5 Nieprawidłowe wywołanie procedury

Przykład:

Poniższy przykład używa funkcji Now() do określenia bieżącego dnia tygodnia.


Sub ExampleWeekDay
    Dim sDay As String
    ' Zwraca i wyświetla dzień tygodnia
    Select Case WeekDay( Now )
            Przypadek 1: sDay="niedziela"
            Przypadek 2: sDay="poniedziałek"
            Przypadek 3: sDay="wtorek"
            Przypadek 4: sDay="środa"
            Przypadek 5: sDay="czwartek"
            Przypadek 6: sDay="piątek"
            Przypadek 7: sDay="sobota"
    End Select
    MsgBox "" + sDay,64,"Dzisiaj jest"
End Sub

Poniższy przykład ilustruje użycie parametru FirstDayOfWeek przy założeniu, że wtorek jest pierwszym dniem tygodnia.


  Dim someDay As Long
  ' Data 1 stycznia 2021 r. to piątek
  someDay = DateSerial(2021, 01, 01)
  ' Wypisuje "6", zakładając, że niedziela jest pierwszym dniem tygodnia
  MsgBox WeekDay(someDay)
  ' Wypisuje "4", zakładając, że wtorek jest pierwszym dniem tygodnia
  MsgBox WeekDay(someDay, 3)

Prosimy o wsparcie!