VBA TimeValue - Как да използвам функцията за времева стойност в Excel VBA?

Стойността на времето в VBA е вградена функция, която също е категоризирана под функцията за дата и час във VBA, тази функция, както подсказва името, ни дава числовата стойност на датата, предоставена като аргумент, тя взема един аргумент, който е датата и връща числовата стойност от аргумента.

Какво прави функцията за времева стойност във VBA?

Функцията за стойност на времето във VBA Excel връща частта за стойността на времето от пълната дата и час. Датата и часът се съхраняват като серийни номера в Excel. Серийният номер представлява ДАТАТА, а десетичният представлява времето. Използвайки функцията TimeValue, можем да получим само серийния номер на времето, т.е. десетичен номер.

Синтаксис на функцията VBA TimeValue

Синтаксисът на функцията VBA TimeValue, както следва.

Както казахме, функцията 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

Първото нещо, декларирах променливата „MyTime“ като Дата.

Затъмнете MyTime като дата

След това съм присвоил стойността на променливата чрез прилагане на TimeValue.

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

След това в полето за съобщение съм присвоил променливата резултат.

MsgBox "Доставено време е:" & MyTime, vbInformation, "TIMEVALUE функция".

Ако стартирам кода с помощта на клавиша F5 или ръчно, тогава ще получим резултата, както следва.

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

Сега, ако стартирам VBA кода ръчно или чрез натискане на клавиша F5, той ще покаже серийния номер част от времето 16:50:45.

За ваше по-добро разбиране първо ще въведа числата, дадени от полето за съобщения на VBA в една от клетките.

Сега ще приложа формата на времето, за да проверя точния резултат.

Когато го конвертирате във формат за време, можете да видите точното време.

VBA TimeValue Пример # 3

Сега вижте данните по-долу.

Имаме данни и време заедно от клетки от А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

Когато стартираме кода, ще получим стойностите като по-долу.

Ако искате да видите часа, приложете към него формата TIME.

И така, функцията TIME VALUE работи във VBA и Excel.

Интересни статии...