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