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:
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