VBA TimeValue - Jak korzystać z funkcji wartości czasu w Excel VBA?

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 cyfra 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. Pamiętaj, że wartość czasu może uzyskać numer seryjny tylko z 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.

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

Po pierwsze, 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 wynik w następujący sposób.

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 z 1 st komórki do 14 th komórki, więc nasza pętla powinna trwać 14 razy. Musimy użyć pętli FOR NEXT w VBA, aby wspomnieć o dolnej i górnej granicy. Poniższy kod to już napisany kod do wyodrębniania wartości czasu z kombinacji daty i godziny.

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 CZASU.

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

Interesujące artykuły...