ВБА ИсДате | Како се користи Екцел ВБА ИсДате функција?

Екцел ВБА ИсДате функција

ИсДате је ВБА функција која тестира да ли је дата вредност датум или не. Ако је наведена вредност или референтна вредност опсега датумска вредност, тада ћемо добити резултат као „ТРУЕ“, ако вредност није датумска вредност, добићемо резултат као „ФАЛСЕ“. Дакле, резултат је БООЛЕАН вредност, тј. ТРУЕ или ФАЛСЕ.

Испод је синтакса функције ИсДате.

Израз није ништа друго до вредност коју покушавамо да тестирамо да ли је то датум или не.

Како се користи функција ВБА ИсДате?

Овај ВБА ИсДате Екцел образац можете преузети овде - ВБА ИсДате Екцел предложак

Тестираћемо да ли је вредност „5.01.19“ датумска вредност или не.

За ово прво започните процедуру екцел макро.

Шифра:

 Суб ИсДате_Екампле1 () Крај Суб 

Дефинишите променљиву за чување вредности датума и пошто ће вредност бити вредност датума, доделите тип података само „Датум“.

Шифра:

 Суб ИсДате_Екампле1 () Затамни МиДате као датум завршетка Суб 

Сада променљивој „МиДате“ доделите вредност „5.1.19“.

Шифра:

 Суб ИсДате_Екампле1 () Дим МиДате Ас Дате МиДате = "5.1.19" Енд Суб 

Отворите оквир за поруке у ВБА одмах

Шифра:

 Суб ИсДате_Екампле1 () Дим МиДате Ас Дате МиДате = "5.1.19" МсгБок (Енд Суб 

У овом оквиру за поруке тестираћемо да ли је дата вредност променљиве „МиДате“ датум или не помоћу функције „ИсДате“. Прво отворите функцију „ИсДате“.

Шифра:

 Суб ИсДате_Екампле1 () Дим МиДате Ас Дате МиДате = "5.1.19" МсгБок ИсДате (Енд Суб 

Израз је вредност коју тестирамо да бисмо утврдили да ли је Датум или не. Будући да смо вредност већ сачували у променљивој „МиДате“, наведите само име променљиве.

Шифра:

 Суб ИсДате_Екампле1 () Дим МиДате Ас Дате МиДате = "5.1.19" МсгБок ИсДате (МиДате) Енд Суб 

Ок, сада покрените код и погледајте шта ћемо добити у оквиру за поруку.

Вау !!! Резултат је ИСТИНИТО.

Сигурно се питате како је препознао вредност „5.1.19“ као датум.

Разлог зашто је резултат вратио као ТРУЕ, јер када погледате дату вредност “5.1.19” то је кратки облик датума “05.01.2019” тако да је екцел довољно сјајан да га препозна као датум, па је резултат ТАЧАН.

Сада долази зезнута ствар, јер ћемо за исту вредност променити кратки облик године од 19. до 2019. године.

Шифра:

 Суб ИсДате_Екампле1 () Дим МиДате Ас Стринг МиДате = "5.1.2019" МсгБок ИсДате (МиДате) Енд Суб 

Сада покрените код и погледајте резултат.

Овај пут је резултат вратио као ФАЛСЕ јер је део датума „дан и месец“ у кратком облику, али део године је у пуној форми „ГГГГ“, тако да ИСДАТЕ не може препознати да има датум, па је резултат ФАЛСЕ.

Сада погледајте доњи код.

Шифра:

 Суб ИсДате_Екампле1 () Дим МиДате Ас Стринг МиДате = "05.01.2019" МсгБок ИсДате (МиДате) Енд Суб 

Поменуо сам формат целог дана и целог месеца користећи 0, покренимо код и видимо резултат функције ИсДате.

Овог пута смо такође добили резултат као ФАЛСЕ.

Сада промените код на следећи начин.

Шифра:

 Суб ИсДате_Екампле1 () Затамни МиДате као низ МиДате = "05/01/2019" МсгБок ИсДате (МиДате) Крај Суб 

Уместо тачке (.) Као сепаратора, унели смо косу црту (/) као сепаратор. Сада покрените код и погледајте резултат.

Овога пута смо добили резултат као ИСТИНИТО.

То је разлог што сам вам на почетку чланка рекао да је „Датум“ осетљива ствар.

Сада ћу урадити то што ћу спојити датум и време.

Шифра:

 Суб ИсДате_Екампле1 () Затамни МиДате као низ МиДате = "05/01/2019 15:26:24" МсгБок ИсДате (МиДате) Крај Суб 

Оно што сам горе додао је временски део „15:26:24“ испред датума. Сада покрените код и погледајте резултат.

И овог пута смо добили резултат као ИСТИНИТО јер су ДАТУМ И ВРЕМЕ у екцелу исте ствари и чувају се као серијски бројеви. Читав број представља датумски део, а децимална места представљају временски део.

Ствари које треба овде запамтити

  • ИсДате враћа резултат типа Боолеан, тј. ТРУЕ или ФАЛСЕ.
  • ИсДате је доступан само као ВБА функција.
  • Само важећи форматирани датуми третирају се као датум или ће се третирати као текстуалне вредности и вратити резултат као ФАЛСЕ.