Razumevanje funkcije Excel VBA IsDate

VBA-jeva funkcija IsDate naj bi vam povedala, ali je besedilni niz mogoče razlagati kot datum. Na primer, vsi naslednji izrazi se ocenijo kot True:

IsDate(»25.5.2015«)
IsDate (»16. januar«)
IsDate (»12-1«)
IsDate (»12/1/15«)
IsDate (»2/30«)
IsDate (»30/2«)

V zadnjih dveh primerih opazite, da IsDate ni izbirčen glede vrstnega reda dneva in meseca. Oba niza je mogoče razlagati kot datum, zato IsDate vrne True (ne glede na vaše sistemske nastavitve oblike datuma).

Tukaj je nekaj informacij iz članka o Microsoftovi podpori :

Datumske funkcije VBA IsDate, Format, CDate in CVDate uporabljajo funkcijo, ki jo najdemo v OLE Automation (OleAut32.dll). Ta funkcija išče vse možne formate datuma tako, da označi vsako od ločenih vrednosti v nizu, ki predstavlja datum, in vrne logično vrednost, ki označuje, ali je vnos mogoče predstaviti kot datum.

To je pomembno upoštevati pri uporabi funkcije za razlago datuma, ki vsebuje dvomestno leto. Različni jeziki uporabljajo različne formate datuma (to so mm/dd/ll, yy/mm/dd, DD MMM YY , YY MMM DD in tako naprej) in zato funkcija preizkuša števke na vseh položajih, dokler ne funkcija je našla veljaven datum ali je izčrpala vse možnosti.

Samo zato, ker IsDate prepozna niz kot datum, še ne pomeni, da je niz mogoče zanesljivo pretvoriti v datum. V nekaterih primerih je rezultat dvoumen. Kaj pa na primer ta izraz?

IsDate (»29-feb-01«)

29. februar 2001 ni veljaven datum. Vendar ta izraz vrne True, ker sta 1. februar 1929 (in 2. januar 1929) veljavna datuma. In tudi ti isti datumi v letu 2029.

Iskanje dokumentacije IsDate je bilo prazno. Na podlagi testiranja IsDate sprejme katero koli od naslednjih znakov kot ločilne znake: poševnico (/), vezaj (-), vejico (,), piko (.) in presledek.

Zato vsi naslednji izrazi vrnejo True:

IsDate (»5.1«)
IsDate (»30 6«)
IsDate(»30,6«)
IsDate (»1/2«)

Toda tu je še ta anomalija: naslednji izrazi vrnejo True:

IsDate(»5.1.5«)
IsDate(»5.1.05«)

Vendar ta izraz neeksplicitno vrne False:

IsDate (»5.1.2005«)

Recimo, da ste ustvarili uporabniški obrazec z InputBox, kjer uporabnik vnese datum. Jasno bi moralo biti, da uporaba IsDate za potrditev vnosa ni zelo zanesljiva.

Stvari postanejo še bolj zmedene, ko ugotovite, da IsDate zajema tudi časovne vrednosti. (Ni ustrezne funkcije IsTime.) Torej vsi naslednji izrazi vrnejo True:

IsDate (»4:45«)
IsDate (»4,45«)
IsDate (»4 45«)
IsDate (»4/45«)
IsDate (»23:59«)

Ti izrazi vrnejo False:

IsDate (»4:60«)
IsDate (»24,45«)

Pomembno je poudariti, da IsDate ne kaže vseh teh nenavadnosti, ko posredujete argument Range. Na primer:

IsDate(Obseg(»A1«))

Zdi se, da je IsDate popolnoma zanesljiv pri prepoznavanju celic, ki vsebujejo datum ali čas. Ne identificira na primer celice, ki vsebuje 5.1 kot datum. Če mora vaša koda ugotoviti, ali je niz mogoče razlagati kot datum, je najboljša rešitev, da ta niz vstavite v celico in nato napišete kodo za preverjanje vsebine celice.

Leave a Comment

Kako dokazati besedilo v tujem jeziku v Wordu 2016

Kako dokazati besedilo v tujem jeziku v Wordu 2016

V interesu kozmopolitizma vam Word 2016 omogoča delo s tujimi jeziki. Naučite se, kako vnesti in urediti besedilo v tujem jeziku, ter preveriti črkovanje in slovnico.

Filtriranje in razvrščanje podatkov vrtilne tabele v Excelu 2019

Filtriranje in razvrščanje podatkov vrtilne tabele v Excelu 2019

Učinkovito filtriranje in razvrščanje podatkov v vrtilni tabeli Excel 2019 za boljša poročila. Dosežite hitrejše analize z našimi namigi in triki!

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Reševalec v Excelu je močno orodje za optimizacijo, ki lahko naleti na težave. Razumevanje sporočil o napakah reševalca vam lahko pomaga rešiti težave in optimizirati vaše matematične modele.

Teme za PowerPoint 2019

Teme za PowerPoint 2019

Odkrijte različne <strong>teme PowerPoint 2019</strong> in kako jih lahko uporabite za izboljšanje vaših predstavitev. Izberite najboljšo temo za vaše diapozitive.

Kako uporabljati distribucije hi-kvadrat v Excelu

Kako uporabljati distribucije hi-kvadrat v Excelu

Nekateri statistični ukrepi v Excelu so lahko zelo zmedeni, vendar so funkcije hi-kvadrat res praktične. Preberite vse opise funkcij hi-kvadrat za bolje razumevanje statističnih orodij.

Kako dodati obrobo strani v Word 2013

Kako dodati obrobo strani v Word 2013

V tem članku se naučite, kako dodati <strong>obrobo strani</strong> v Word 2013, vključno z različnimi slogi in tehnikami za izboljšanje videza vaših dokumentov.

Kako delati z več dokumenti v Wordu 2013

Kako delati z več dokumenti v Wordu 2013

Ni vam treba omejiti uporabe urejevalnika besedil na delo z enim samim dokumentom. Učinkovito delajte z več dokumenti v Wordu 2013.

Kako dodati komentarje v predstavitev PowerPoint 2013

Kako dodati komentarje v predstavitev PowerPoint 2013

Sodelovanje pri predstavitvi, ustvarjeni v PowerPointu 2013, je lahko tako preprosto kot dodajanje komentarjev. Odkrijte, kako učinkovito uporabljati komentarje za izboljšanje vaših predstavitev.

Kako spremeniti nastavitve preverjanja črkovanja in slovnice v Wordu 2016

Kako spremeniti nastavitve preverjanja črkovanja in slovnice v Wordu 2016

Ugotovite, kako prilagoditi nastavitve preverjanja črkovanja in slovnice v Wordu 2016, da izboljšate svoje jezikovne sposobnosti.

Kaj so izročki v PowerPointu 2013?

Kaj so izročki v PowerPointu 2013?

PowerPoint 2013 vam ponuja različne načine za izvedbo predstavitve, vključno s tiskanjem izročkov. Izročki so ključnega pomena za izboljšanje vaše predstavitve.