Jak korzystać z funkcji dnia tygodnia w vba (z przykładem)


Możesz użyć funkcji Weekday w VBA, aby uzyskać dzień tygodnia (jako liczbę całkowitą) z danej daty.

Oto typowy sposób wykorzystania tej funkcji w praktyce:

 Sub FindWeekday()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
    Next i
    
End Sub

To konkretne makro znajdzie dzień tygodnia (jako liczbę całkowitą) dla każdej daty z zakresu A2:A9 i wyświetli wyniki w zakresie B2:B9 .

Należy pamiętać, że następującym liczbom całkowitym odpowiadają poszczególne dni tygodnia:

  • 1 : niedziela
  • 2 : poniedziałek
  • 3 : wtorek
  • 4 : środa
  • 5 : czwartek
  • 6 : piątek
  • 7 : sobota

Poniższy przykład pokazuje jak w praktyce wykorzystać funkcję Dzień tygodnia .

Uwaga : jeśli wolisz zwrócić dzień tygodnia jako nazwę, powinieneś zamiast tego użyć funkcji WeekdayName.

Przykład: Użyj funkcji Weekday w VBA, aby znaleźć dzień tygodnia

Załóżmy, że w Excelu mamy następującą kolumnę z datą:

Załóżmy, że chcemy uzyskać dzień tygodnia (jako liczbę całkowitą) dla każdej daty i wyświetlić wyniki w kolumnie B.

W tym celu możemy utworzyć następujące makro:

 Sub FindWeekday()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
    Next i
    
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Kolumna B wyświetla dzień tygodnia (jako liczbę całkowitą) dla każdej daty w kolumnie A.

Na przykład:

  • 1.01.2023 to niedziela, więc funkcja Weekday zwraca 1 .
  • 1/4/2023 to środa, więc funkcja Weekday zwraca 4 .
  • 23.02.2023 wypada w czwartek, więc funkcja Weekday zwraca 5 .

I tak dalej.

Uwaga : Pełną dokumentację funkcji VBA Weekday znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

Jak porównać daty w VBA
Jak przekonwertować datę na numer tygodnia w VBA
Jak obliczyć dni między dwiema datami w VBA

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *