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


Możesz użyć metody WorkDay w VBA, aby dodać lub odjąć określoną liczbę dni roboczych od daty.

Oto powszechny sposób wykorzystania tej metody w praktyce:

 SubAddWorkDays ()

Dim i As Integer

For i = 2 To 10
    Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i

End Sub

To konkretne makro dodaje liczbę dni roboczych określoną w zakresie B2:B10 do każdej daty z zakresu A2:A10 i wyświetla wyniki w zakresie C2:C10 .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Jak wykorzystać funkcję WorkDay w VBA

Załóżmy, że mamy kolumnę dat w programie Excel oraz inną kolumnę określającą liczbę dni roboczych do dodania do każdej daty:

Możemy utworzyć następujące makro, aby dodać liczbę dni roboczych w kolumnie B do każdej odpowiedniej daty w kolumnie A:

 SubAddWorkDays ()

Dim i As Integer

For i = 2 To 10
    Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i

End Sub

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

Domyślnie w kolumnie C daty są wyświetlane jako numery kolejne.

Aby wyświetlić te wartości jako rozpoznawalne daty, zaznacz zakres C2:C10 , następnie kliknij kartę Wstaw na górnej wstążce, następnie kliknij menu rozwijane Format liczb i kliknij opcję Krótka data :

Każdy numer seryjny będzie teraz wyświetlany jako data:

Kolumna C wyświetla każdą datę w kolumnie A z dodaną określoną liczbą dni roboczych w kolumnie B.

Należy pamiętać, że jeśli w kolumnie B podamy liczbę ujemną, metoda WorkDay odejmie tę liczbę dni roboczych od daty w kolumnie A.

Uwaga : Pełną dokumentację metody VBA WorkDay znajdziesz tutaj .

Dodatkowe zasoby

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

VBA: Jak uzyskać nazwę miesiąca z daty
VBA: Jak sortować według daty
VBA: Jak dodać if pomiędzy dwiema datami

Dodaj komentarz

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