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 |