/ / Excel VBA Data i godzina

Excel VBA Data i godzina

Rok, miesiąc, dzień daty | DateAdd | Aktualna data i godzina | Godzina, minuta, sekunda | Wartość czasu

Dowiedz się, jak pracować z daty i godziny w Excel VBA.

Umieść przycisk polecenia w arkuszu i dodaj poniższe linie kodu. Aby wykonać linie kodu, kliknij przycisk polecenia na arkuszu.

Rok, miesiąc, dzień daty

Poniższe makro otrzymuje rok daty. Aby zadeklarować datę, użyj instrukcji Dim. Aby zainicjować datę, użyj funkcji DateValue.

Kod:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Wynik:

Rok daty w Excelu VBA

Uwaga: Użyj miesiąca i dnia, aby uzyskać miesiąc i datę.

DateAdd

Aby dodać liczbę dni do daty, użyjFunkcja DateAdd. Funkcja DateAdd ma trzy argumenty. Wypełnij "d" dla pierwszego argumentu, aby dodać dni. Wypełnij 3 dla drugiego argumentu, aby dodać 3 dni. Trzeci argument reprezentuje datę, do której zostanie dodana liczba dni.

Kod:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jun 19, 2010")
secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Wynik:

DateAdd

Uwaga: Zmień "d" na "m", aby dodać liczbę miesięcy do daty. Umieść kursor na DateAdd w Edytorze Visual Basic i kliknij F1, aby uzyskać pomoc dotyczącą innych specyfikatorów odstępów. Daty są w formacie amerykańskim. Najpierw miesiące, dni drugie. Ten typ formatu zależy od ustawień regionalnych systemu Windows.

Aktualna data i godzina

Aby uzyskać aktualną datę i godzinę, użyj funkcji Now.

Kod:

MsgBox Now

Wynik:

Aktualna data i godzina

Godzina, minuta, sekunda

Zdobądź godzinę czasu, skorzystaj z funkcji Godziny.

Kod:

MsgBox Hour(Now)

Wynik:

Godzina obecnego czasu

Uwaga: Użyj minut i sekund, aby uzyskać minutę i sekundę czasu.

Wartość czasu

Funkcja TimeValue przekształca ciąg na numer seryjny czasu. Numer seryjny czasu to liczba od 0 do 1. Na przykład południe (w połowie dnia) jest reprezentowane jako 0,5.

Kod:

MsgBox TimeValue("9:20:01 am")

Wynik:

Wartość czasu

Teraz, aby wyraźnie zobaczyć, że Excel obsługuje wewnętrznie czasy jako liczby od 0 do 1, dodaj następujące linie kodu:

Dim y As Double
y = TimeValue("09:20:01")
MsgBox y

Wynik:

Numer seryjny czasu

Przeczytaj również: