VBA IsDate | Paano gamitin ang Excel VBA IsDate Function?
Pag-andar ng Excel VBA IsDate
IsDate ay ang pagpapaandar ng VBA na sumusubok kung ang naibigay na halaga ay ang petsa o hindi. Kung ang ibinigay na halaga o halaga ng sanggunian sa saklaw ay halaga ng petsa pagkatapos makukuha natin ang resulta bilang "TUNAY", kung ang halaga ay hindi halaga ng petsa pagkatapos makukuha natin ang resulta bilang "MALI". Kaya, ang resulta ay halaga ng BOOLEAN hal alinman sa TAMA o MALI.
Nasa ibaba ang syntax ng pagpapaandar ng IsDate.
Pagpapahayag ay walang anuman kundi ang halagang sinusubukan naming subukan kung ito ang petsa o hindi.
Paano gamitin ang VBA IsDate Function?
Maaari mong i-download ang VBA IsDate Excel Template dito - VBA IsDate Excel TemplateSusubukan namin kung ang halagang "5.01.19" ay isang halaga ng petsa o hindi.
Para sa mga ito unang simulan ang excel macro na pamamaraan.
Code:
Sub IsDate_Example1 () Tapusin ang Sub
Tukuyin ang variable upang maiimbak ang halaga ng petsa at dahil ang halaga ay magiging halaga ng petsa na italaga ang uri ng data bilang "Petsa" lamang.
Code:
Sub IsDate_Example1 () I-dim ang MyDate Bilang Petsa ng Pagtatapos ng Sub
Italaga ngayon ang halaga ng "5.1.19" sa variable na "MyDate".
Code:
Sub IsDate_Example1 () I-dim ang MyDate Bilang Petsa MyDate = "5.1.19" End Sub
Buksan ang kahon ng mensahe sa VBA ngayon
Code:
Sub IsDate_Example1 () I-dim ang MyDate Bilang Petsa MyDate = "5.1.19" MsgBox (End Sub
Sa kahon ng mensahe na ito, susubukan namin kung ang naibigay na halaga ng petsa sa variable na "MyDate" ay ang petsa o hindi sa pamamagitan ng paggamit ng "IsDate" na function. Una, buksan ang pagpapaandar na "IsDate".
Code:
Sub IsDate_Example1 () I-dim ang MyDate Bilang Petsa MyDate = "5.1.19" MsgBox IsDate (End Sub
Pagpapahayag ay ang halagang sinusubukan namin upang malaman kung Petsa o hindi. Dahil naimbak na namin ang halaga sa variable na "MyDate" na ibigay lamang ang variable na pangalan.
Code:
Sub IsDate_Example1 () I-dim ang MyDate Bilang Petsa MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub
Ok, patakbuhin ngayon ang code at tingnan kung ano ang nakukuha namin sa kahon ng mensahe.
Wow !!! Ang resulta ay TOTOO.
Dapat ay nagtataka ka kung paano nito nakilala ang halagang "5.1.19" bilang petsa.
Ang dahilan kung bakit ibinalik nito ang resulta bilang TUNAY sapagkat kapag tiningnan mo ang ibinigay na halaga “5.1.19” ito ay ang maikling form ng petsa “05.01.2019” kaya't ang excel ay sapat na napakatalino upang makilala ito bilang petsa, kaya ang resulta ay TUNAY.
Ngayon narito ang nakakalito na bagay, para sa parehong halaga kung ano ang gagawin namin ay babaguhin natin ang maikling form ng taon mula 19 hanggang 2019.
Code:
Sub IsDate_Example1 () Madilim ang MyDate Bilang String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub
Patakbuhin ngayon ang code at tingnan ang resulta.
Sa oras na ito ay ibinalik ang resulta bilang MALI dahil ang bahagi ng "araw at buwan" ng petsa ay nasa maikling form ngunit ang bahagi ng taon ay nasa buong anyo ng "YYYY" kaya't hindi makilala ng ISDATE na mayroon itong isang petsa kaya't ang resulta ay MALI.
Ngayon, tingnan ang code sa ibaba.
Code:
Sub IsDate_Example1 () Madilim ang MyDate Bilang String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub
Nabanggit ko ang buong araw at buong buwan na format sa pamamagitan ng paggamit ng 0, patakbuhin natin ang code at tingnan ang resulta ng pagpapaandar ng IsDate.
Sa oras na ito din kami ay nakuha ang resulta bilang MALI.
Ngayon baguhin ang code tulad ng sumusunod.
Code:
Sub IsDate_Example1 () Madilim ang MyDate Bilang String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub
Sa halip na ang tuldok (.) Bilang naghihiwalay, ipinasok namin ang forward-slash (/) bilang separator. Patakbuhin ngayon ang code at tingnan ang resulta.
Sa oras na ito nakuha namin ang resulta bilang TOTOO.
Ito ang dahilan kung bakit sinabi ko sa iyo sa simula ng artikulo na ang "Petsa" ay isang sensitibong bagay.
Ngayon kung ano ang gagawin ko ay pagsasama-sama ko ang petsa at oras na magkasama.
Code:
Sub IsDate_Example1 () Madilim ang MyDate Bilang String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub
Ang naidagdag ko sa itaas ay ang bahagi ng oras ng "15:26:24" sa harap ng petsa. Patakbuhin ngayon ang code at tingnan ang resulta.
Sa oras din na ito nakuha namin ang resulta bilang TOTOO dahil ang DATE & TIME sa excel ay pareho ng mga bagay at nakaimbak bilang mga serial number. Ang buong numero ay kumakatawan sa bahagi ng petsa at ang mga desimal na lugar ay kumakatawan sa bahagi ng oras.
Mga Bagay na Dapat Tandaan
- Ibinabalik ng IsDate ang resulta ng uri ng Boolean ibig sabihin alinman sa TAMA o MALI.
- Magagamit lamang ang IsDate bilang isang pagpapaandar ng VBA.
- Ang mga wastong naka-format na petsa lamang ang itinuturing bilang petsa o kung hindi man ay ituturing nito bilang mga halaga ng teksto at ibabalik ang resulta bilang MALI.