Funkcja VBA DataDodaj

DataDodaj opis

Funkcja VBA DateAdd umożliwia dodawanie (lub odejmowanie) dni, miesięcy, lat, godzin, kwartałów itp. do dat lub godzin.

Prosta dataDodaj przykłady

Oto prosty przykład DateAdd:

123 Pod dataDodaj_dzień()MsgBox DateAdd("d", 20, #4/1/2021#)Napis końcowy

Ten kod doda 20 dni (oznaczonych przez „d”) do daty 4.01.2021:

Zamiast tego możemy zmienić argument Interval z „d” na „m”, aby dodać 20 miesięcy do daty 04.01.2021:

123 Data podrzędnaDodaj_miesiąc()MsgBox DateAdd("m", 20, #4/1/2021#)Napis końcowy

Zamiast wyświetlać datę w oknie komunikatu, możemy przypisać ją do zmiennej:

123456 Data podrzędnaDodaj_dzień2()Dim dt jako Datadt = DataDodaj("d", 20, #4/1/2021#)MsgBox dtNapis końcowy

DataDodaj składnię

W edytorze VBA możesz wpisać „DateAdd (”, aby zobaczyć składnię funkcji DateAdd:

Funkcja DateAdd zawiera 3 argumenty:

Interwał: Jednostka czasu (dni, miesiące, lata itp.). Wpisz jako ciąg. (np. „m” oznacza miesiąc)

Ustawienie Opis
rrrr Rok
Q Jedna czwarta
m Miesiąc
tak Dzień Roku
D Dzień
w Dzień powszedni
w W Tydzień
h Godzina
n Minuta
s druga

Numer: Wartość liczbowa reprezentująca liczbę jednostek czasu do dodania. (np. 20, aby dodać 20 jednostek)

Data: Data początkowa. Zobacz następną sekcję.

Programowanie VBA | Generator kodu działa dla Ciebie!

Przykłady funkcji Excel VBA DateAdd

Daty odniesienia

Na początek zademonstrujemy różne sposoby odwoływania się do dat za pomocą funkcji VBA DateAdd.

Każda z tych funkcji DateAdd daje ten sam wynik:

123456789 Sub DateAdd_ReferenceDates()MsgBox DateAdd("m", 2, #4/1/2021#)MsgBox DateAdd("m", 2, DateSerial(2021, 4, 1))MsgBox DateAdd("m", 2, DateValue("1 kwietnia 2022"))Napis końcowy

Możesz też odwołać się do komórki zawierającej datę:

12345 Sub DateAdd_ReferenceDates_Cell()MsgBox DateAdd("m", 2, Range("C2").Value)Napis końcowy

Lub utwórz i odnieś się do zmiennej daty:

12345678 Data podrzędnaDodaj_zmienna()Dim dt As Datedt = #4/1/2021#MsgBox DateAdd("m", 2, dt)Napis końcowy

Dodaj lub odejmij daty

Pokazaliśmy już, jak dodać do daty:

123456 Data podrzędnaDodaj_dzień2()Dim dt jako Datadt = DataDodaj("d", 20, #4/1/2021#)MsgBox dtNapis końcowy

Możesz odjąć od dat, używając liczby ujemnej (np. -20 zamiast 20):

123456 Data podrzędnaDodaj_dzień()Dim dt jako Datadt = DataDodaj("d", -20, #4/1/2021#)MsgBox dtNapis końcowy

Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!

Dodawanie różnych jednostek czasu

Lata

123 Data podrzędnaDodaj_lata()MsgBox DateAdd("rrrr", 4, #4/1/2021#)Napis końcowy

Jedna czwarta

123 Data podrzędnaDodaj_kwartały()MsgBox DateAdd("q", 2, #4/1/2021#)Napis końcowy

Miesiąc

123 Data podrzędnaDodaj_miesiące()MsgBox DateAdd("m", 2, #4/1/2021#)Napis końcowy

Dzień Roku

123 Sub DateAdd_DaysofYear()MsgBox DateAdd("y", 2, #4/1/2021#)Napis końcowy

Dzień

123 Data podrzędnaDodaj_dni3()MsgBox DateAdd("d", 2, #4/1/2021#)Napis końcowy

Dzień powszedni

123 Data podrzędnaDodaj_dni tygodnia()MsgBox DateAdd("w", 2, #4/1/2021#)Napis końcowy

Tydzień

123 Data podrzędnaDodaj_tygodnie()MsgBox DateAdd("ww", 2, #4/1/2021#)Napis końcowy

Programowanie VBA | Generator kodu działa dla Ciebie!

Dodaj do dzisiaj

Te przykłady dodadzą jednostki czasu do dnia dzisiejszego za pomocą funkcji daty.

123456789 Data podrzędnaDodaj_rok_Test()Dim dtToday As DateDim dtPóźniej jako datadtDzisiaj = DatadtLater = DateAdd("rrrr", 1, dtToday)MsgBox "Rok później jest" & dtLaterNapis końcowy
123 Data podrzędnaAdd_Quarter_Test()MsgBox "2 kwartały później to " & DateAdd("q", 2, Date)Napis końcowy

Dodawanie i odejmowanie czasu

Funkcja DateAdd działa również z Times. Oto kilka przykładów dodawania (lub odejmowania) czasu do czasu:

Godzina

Ten przykład doda 2 godziny do czasu:

123 Data podrzędnaDodaj_godzinę()MsgBox DateAdd("h", 2, #4/1/2021 6:00:00#)Napis końcowy

Minuta

W tym przykładzie odejmuje się 120 minut od aktualnego czasu:

123 Sub DateAdd_Minute_Subtract()MsgBox DateAdd("n", -120, teraz)Napis końcowy

druga

123 Data podrzędnaDodaj_sekundę()MsgBox DateAdd("s", 2, #4/1/2021 6:00:00#)Napis końcowy

Formatowanie dat

Gdy daty (lub godziny) są wyświetlane w programie Excel, UserForms lub Messageboxes, należy wskazać sposób wyświetlania dat przy użyciu funkcji Format. Poniżej zamieściliśmy kilka przykładów:

123456789101112131415161718 Formatowanie podrzędneDatyGodziny()'Zwraca aktualną datę i godzinędt = Teraz ()'były. 07.02.2021Zakres("B2") = Format(dt, "mm/dd/rrrr")'były. 2 lipca 2022Zakres("B3") = Format(dt, "mmmm d, rrrr")'były. 2 lipca 2022 09:10Zakres("B4") = Format(dt, "mm/dd/rrrr gg:mm")'były. 7.2.21 9:10Zakres("B5") = Format(dt, "m.d.yy h:mm AM/PM")Napis końcowy

wave wave wave wave wave