VBA TimeValue

Wartość czasu w VBA jest wbudowaną funkcją, która jest również sklasyfikowana w funkcji daty i czasu w VBA, ta funkcja, jak sama nazwa wskazuje, podaje nam wartość liczbową daty podanej jako argument, przyjmuje pojedynczy argument, którym jest data i zwraca wartość liczbową z argumentu.

Co robi funkcja wartości czasu w VBA?

Funkcja Time Value w VBA Excel zwraca część wartości czasu z pełnej daty i godziny. Data i godzina są przechowywane jako numery seryjne w programie Excel. Numer seryjny reprezentuje DATĘ, a liczba dziesiętna przedstawia czas. Korzystając z funkcji TimeValue możemy uzyskać tylko numer seryjny czasu, czyli liczbę dziesiętną.

Składnia funkcji VBA TimeValue

Składnia funkcji VBA TimeValue jest następująca.

Jak powiedzieliśmy, funkcja TimeValue zwraca część numeru seryjnego podanej daty, która jest przechowywana jako wartość tekstowa. Czas to nic innego jak rzeczywisty czas, w którym szukamy numeru seryjnego. Zapamiętaj wartość czasu może uzyskać numer seryjny tylko od czasu, który jest przechowywany jako tekst, a nie jako CZAS.

Przykłady funkcji TimeValue z Excel VBA

Poniżej znajdują się przykłady funkcji VBA TimeValue.

Możesz pobrać ten szablon funkcji VBA TimeValue tutaj - szablon funkcji VBA TimeValue

Przykład VBA TimeValue nr 1

Spójrzmy teraz na prosty przykład funkcji VBA TimeValue.

Kod:

 Sub TIMEVALUE_Function_Example1 () 'Przekonwertuj podany ciąg wejściowy na prawidłowy czas i wyświetl na ekranie' Deklaracja zmiennej Dim MyTime As Date 'Przypisz czas do zmiennej MyTime = TimeValue ("28-05-2019 16:50:45")' Wyświetl wyjście na ekranie MsgBox "Aktualny czas to:" & MyTime, vbInformation, "Funkcja VBA TIMEVALUE" End Sub 

Najpierw zadeklarowałem zmienną „MyTime” jako Date.

 Przyciemnij mój czas jako datę 

Następnie przypisałem wartość zmiennej, stosując TimeValue.

MyTime = TimeValue („28-05-2019 16:50:45”)

Następnie w oknie komunikatu przypisałem wynik zmiennej.

MsgBox "Podany czas to:" & MyTime, vbInformation, "Funkcja TIMEVALUE".

Jeśli uruchomię kod za pomocą klawisza F5 lub ręcznie, otrzymamy następujący wynik.

Przykład VBA TimeValue nr 2

Dla tego samego kodu zadeklaruję zmienną VBA jako „Double”.

Kod:

 Sub TIMEVALUE_Function_Example1 () 'Przekonwertuj podany ciąg wejściowy na prawidłowy czas i wyświetl na ekranie' Deklaracja zmiennej Dim MyTime As Double 'Przypisz czas do zmiennej MyTime = TimeValue ("28-05-2019 16:50:45")' Wyświetl wyjście na ekranie MsgBox "Aktualny czas to:" & MyTime, vbInformation, "Funkcja VBA TIMEVALUE" End Sub 

Teraz, jeśli uruchomię kod VBA ręcznie lub naciskając klawisz F5, wyświetli część numeru seryjnego godziny 16:50:45.

Dla lepszego zrozumienia najpierw wprowadzę liczby podane w oknie komunikatu VBA do jednej z komórek.

Teraz zastosuję format czasu, aby sprawdzić dokładny wynik.

Po przekonwertowaniu go na format czasu, możesz zobaczyć dokładny czas.

Przykład VBA TimeValue nr 3

Teraz spójrz na poniższe dane.

Mamy razem dane i czas od komórek A1 do A14. W drugiej kolumnie musimy wyodrębnić tylko wartość czasu. Ponieważ mamy do czynienia z więcej niż jedną komórką, musimy użyć pętli, aby wykonać ten sam zestaw zadań dla wszystkich komórek.

Mamy dane od 1 do 14 komórki, więc nasza pętla powinna działać 14 razy. Musimy użyć pętli FOR NEXT w VBA, aby wspomnieć o dolnej granicy i górnej granicy. Poniższy kod to już napisany kod do wyodrębnienia wartości czasu z kombinacji daty i czasu.

Kod:

 Sub TimeValue_Example3 () Dim k As Integer For k = 1 To 14 Cells (k, 2) .Value = TimeValue (Cells (k, 1) .Value) Next k End Sub 

Po uruchomieniu kodu otrzymamy wartości takie jak poniżej.

Jeśli chcesz zobaczyć czas, zastosuj do niego format CZAS.

Tak więc działa funkcja WARTOŚĆ CZASU w VBA i Excelu.