Jak odjąć dni od daty w vba (z przykładem)


Możesz użyć funkcji DateAdd w VBA z liczbą ujemną, aby odjąć określoną liczbę dni od daty.

Oto typowy sposób wykorzystania tej funkcji w praktyce:

 Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range(" B " & i) = DateAdd(" d ", -4, Range(" A " & i))
    Next i
    
End Sub

To konkretne makro odejmie cztery dni od każdej daty z zakresu A2:A10 i wyświetli nowe daty z zakresu B2:B10 .

Należy zauważyć, że argument „d” w funkcji DateAdd określa, że chcemy odjąć dni od dat, a nie inną jednostkę czasu.

Pełną listę jednostek, których można używać w funkcji DateAdd , można znaleźć na stronie dokumentacji VBA .

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

Przykład: odejmij dni od daty w VBA

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

Załóżmy, że chcemy od każdej daty odjąć cztery dni i wyświetlić nowe daty w kolumnie B.

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

 Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range(" B " & i) = DateAdd(" d ", -4, Range(" A " & i))
    Next i
    
End Sub

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

VBA odejmuje dni od daty

Należy zauważyć, że kolumna B zawiera każdą datę z kolumny A po odjęciu czterech dni.

Możesz zmienić wartość liczbową w funkcji DateAdd , aby odjąć inną liczbę dni od każdej daty.

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

Dodatkowe zasoby

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

Jak porównać daty w VBA
Jak przekonwertować ciąg znaków na bieżąco 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 *