Стойността на времето в VBA е вградена функция, която също е категоризирана под функцията за дата и час във VBA, тази функция, както подсказва името, ни дава числовата стойност на датата, предоставена като аргумент, тя взема един аргумент, който е датата и връща числовата стойност от аргумента.
Какво прави функцията за времева стойност във VBA?
Функцията за стойност на времето във VBA Excel връща частта за стойността на времето от пълната дата и час. Датата и часът се съхраняват като серийни номера в Excel. Серийният номер представлява ДАТАТА, а десетичният представлява времето. Използвайки функцията TimeValue, можем да получим само серийния номер на времето, т.е. десетичен номер.
Синтаксис на функцията VBA TimeValue
Синтаксисът на функцията VBA TimeValue, както следва.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__2.png.webp)
Както казахме, функцията TimeValue връща част от серийния номер на дадената дата, която се съхранява като текстова стойност. Времето не е нищо друго освен действителното време, което търсим за получаване на серийния номер. Не забравяйте, че Time Value може да получи серийния номер само от времето, което се съхранява като текст, а не като TIME.
Примери за функция TimeValue с Excel VBA
По-долу са примерите за функцията VBA TimeValue.
VBA TimeValue Пример # 1
Сега вижте простия пример за функцията VBA TimeValue.
Код:
Sub TIMEVALUE_Function_Example1 () 'Преобразуване на даден входен низ в валидно време и показване на екрана' Декларация на променлива Dim MyTime As Date 'Присвояване на време на променлива MyTime = TimeValue ("28-05-2019 16:50:45")' Показване на изхода на екрана MsgBox "Текущото време е:" & MyTime, vbInformation, "VBA TIMEVALUE Функция" End Sub
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__3.png.webp)
Първото нещо, декларирах променливата „MyTime“ като Дата.
Затъмнете MyTime като дата
След това съм присвоил стойността на променливата чрез прилагане на TimeValue.
MyTime = TimeValue ("28-05-2019 16:50:45")
След това в полето за съобщение съм присвоил променливата резултат.
MsgBox "Доставено време е:" & MyTime, vbInformation, "TIMEVALUE функция".
Ако стартирам кода с помощта на клавиша F5 или ръчно, тогава ще получим резултата, както следва.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba_.gif)
VBA TimeValue Пример # 2
За същия код ще декларирам променливата VBA като „Double“.
Код:
Sub TIMEVALUE_Function_Example1 () 'Преобразуване на даден входен низ в валидно време и показване на екрана' Декларация на променлива Dim MyTime As Double 'Присвояване на време на променлива MyTime = TimeValue ("28-05-2019 16:50:45")' Показване на изхода на екрана MsgBox "Текущото време е:" & MyTime, vbInformation, "VBA TIMEVALUE Функция" End Sub
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__4.png.webp)
Сега, ако стартирам VBA кода ръчно или чрез натискане на клавиша F5, той ще покаже серийния номер част от времето 16:50:45.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__2.gif)
За ваше по-добро разбиране първо ще въведа числата, дадени от полето за съобщения на VBA в една от клетките.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__5.png.webp)
Сега ще приложа формата на времето, за да проверя точния резултат.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__6.png.webp)
Когато го конвертирате във формат за време, можете да видите точното време.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__7.png.webp)
VBA TimeValue Пример # 3
Сега вижте данните по-долу.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__8.png.webp)
Имаме данни и време заедно от клетки от А1 до А14. За втората колона трябва да извлечем само стойността на времето. Тъй като имаме повече от една клетка, с която трябва да се справим, трябва да използваме цикли, за да изпълним един и същ набор от задачи за всички клетки.
Имаме данни от 1- ва клетка до 14 -та клетка, така че нашият цикъл трябва да работи 14 пъти. Трябва да използваме FOR NEXT цикъл във VBA, за да споменем долната и горната граница. Кодът по-долу е вече написаният код за извличане на стойността на времето от комбинацията дата и час.
Код:
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
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__9.png.webp)
Когато стартираме кода, ще получим стойностите като по-долу.
![](https://cdn.know-base.net/4317328/vba_timevalue_how_to_use_time_value_function_in_excel_vba__3.gif)
Ако искате да видите часа, приложете към него формата TIME.
И така, функцията TIME VALUE работи във VBA и Excel.