VBA IsDate - Как да използвам функцията Excel VBA IsDate?

Съдържание

Функция Excel VBA IsDate

IsDate е функцията VBA, която тества дали дадената стойност е датата или не. Ако предоставената стойност или референтната стойност е стойност на датата, тогава ще получим резултата като „TRUE“, ако стойността не е стойност на датата, тогава ще получим резултата като „FALSE“. Така че резултатът е BOOLEAN стойност, т.е. TRUE или FALSE.

По-долу е синтаксисът на функцията IsDate.

Изразът не е нищо друго освен стойността, която се опитваме да проверим, независимо дали е датата или не.

Как да използвам функцията VBA IsDate?

Ще тестваме дали стойността „5.01.19“ е стойност за дата или не.

За това първо начало, макро процедурата на Excel.

Код:

Sub IsDate_Example1 () Край Sub

Дефинирайте променливата, за да съхранявате стойността на датата и тъй като стойността ще бъде стойност на датата, задайте типа данни само като „Дата“.

Код:

Sub IsDate_Example1 () Dim MyDate As Date End Sub

Сега задайте стойността на „5.1.19“ на променливата „MyDate.“

Код:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" End Sub

Отворете полето за съобщения във VBA сега.

Код:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox (End Sub

В това поле за съобщение ще проверим дали предоставената стойност на датата на променливата „MyDate“ е датата или не, като използваме функцията „IsDate“. Първо отворете функцията “IsDate”.

Код:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub

Изразът е стойността, която тестваме, за да открием дали е Дата или не. Тъй като вече сме съхранили стойността в променливата „MyDate“, предоставете само името на променливата.

Код:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub

Добре, сега стартирайте кода и вижте какво получаваме в полето за съобщения.

Еха!!! Резултатът е ИСТИНСКИ .

Сигурно се чудите как е разпознал стойността „5.1.19“ като дата.

Причината, поради която е върнал резултата като TRUE, защото когато погледнете дадената стойност „5.1.19“, това е кратката форма на датата „05.01.2019“, така че excel е достатъчно блестящ, за да го разпознае като дата, така че резултатът е ИСТИНСКИ.

Сега идва сложното нещо, за същата стойност това, което ще направим, е да променим кратката форма на годината от 19 до 2019.

Код:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub

Сега стартирайте кода и вижте резултата.

Този път той върна резултата като FALSE, тъй като частта от деня и месеца на датата е в кратка форма, но годишната част е в пълна форма на „ГГГГ“, така че ISDATE не може да разпознае, че има дата, така че резултатът е FALSE.

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

Код:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub

Споменах формат за цял ден и цял месец с помощта на 0. Нека пуснем кода и да видим резултата от функцията IsDate.

Този път също получаваме резултата като FALSE .

Сега променете кода, както следва.

Код:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub

Вместо точката (.) Като разделител, ние сме въвели наклонена черта (/) като разделител. Сега стартирайте кода и вижте резултата.

Този път получихме резултата като TRUE .

Това е причината да ви кажа в началото на статията, че „Дата“ е чувствително нещо.

Сега това, което ще направя, е да обединя датата и часа заедно.

Код:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub

Това, което добавих по-горе, е часовата част на „15:26:24“ пред датата. Сега стартирайте кода и вижте резултата.

И този път получихме резултата като TRUE, защото DATE & TIME в Excel са същите неща и се съхраняват като серийни номера. Цялото число представлява датата, а десетичните знаци представляват частта за времето.

Неща, които трябва да запомните тук

  • IsDate връща резултат от булев тип, т.е. TRUE или FALSE.
  • IsDate се предлага само като функция на VBA.
  • Като дата се разглеждат само валидни форматирани дати, иначе тя ще се третира като текстови стойности и ще върне резултата като FALSE.

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