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.


Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows Microsoft Word odpira datoteke v načinu samo za branje, zaradi česar jih je nemogoče urejati? Ne skrbite, metode so spodaj

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako odpraviti napake pri tiskanju nepravilnih dokumentov Microsoft Word Napake pri tiskanju dokumentov Word s spremenjeno pisavo, neurejenimi odstavki, manjkajočim besedilom ali izgubljeno vsebino so precej pogoste. Vendar pa ne

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Če ste med predstavitvijo uporabili pero ali označevalnik za risanje po diapozitivih PowerPoint, lahko risbe shranite za naslednjo predstavitev ali jih izbrišete, tako da boste naslednjič, ko ga pokažete, začeli s čistimi PowerPointovimi diapozitivi. Sledite tem navodilom za brisanje risb s peresom in označevalnikom: Brisanje črt ena na […]

Vsebina knjižnice slogov v SharePointu 2010

Vsebina knjižnice slogov v SharePointu 2010

Knjižnica slogov vsebuje datoteke CSS, datoteke Extensible Stylesheet Language (XSL) in slike, ki jih uporabljajo vnaprej določene glavne strani, postavitve strani in kontrolniki v SharePointu 2010. Če želite poiskati datoteke CSS v knjižnici slogov na založniškem mestu: Izberite Dejanja mesta→ Pogled Vsa vsebina spletnega mesta. Prikaže se vsebina spletnega mesta. Knjižnica Style se nahaja v […]

Oblikujte številke v tisoče in milijone v poročilih Excel

Oblikujte številke v tisoče in milijone v poročilih Excel

Ne preobremenjujte občinstva z ogromnimi številkami. V Microsoft Excelu lahko izboljšate berljivost svojih nadzornih plošč in poročil tako, da oblikujete svoje številke tako, da se prikažejo v tisočih ali milijonih.

Kako deliti in spremljati SharePointova spletna mesta

Kako deliti in spremljati SharePointova spletna mesta

Naučite se uporabljati SharePointova orodja za socialno mreženje, ki posameznikom in skupinam omogočajo komunikacijo, sodelovanje, skupno rabo in povezovanje.

Kako pretvoriti datume v julijanske oblike v Excelu

Kako pretvoriti datume v julijanske oblike v Excelu

Julijanski datumi se v proizvodnih okoljih pogosto uporabljajo kot časovni žig in hitra referenca za številko serije. Ta vrsta datumskega kodiranja omogoča trgovcem na drobno, potrošnikom in servisnim agentom, da ugotovijo, kdaj je bil izdelek izdelan in s tem starost izdelka. Julijanski datumi se uporabljajo tudi v programiranju, vojski in astronomiji. Drugačen […]

Kako ustvariti spletno aplikacijo Access

Kako ustvariti spletno aplikacijo Access

Spletno aplikacijo lahko ustvarite v Accessu 2016. Kaj je torej spletna aplikacija? No, splet pomeni, da je na spletu, aplikacija pa je le okrajšava za »aplikacijo«. Spletna aplikacija po meri je spletna aplikacija baze podatkov, do katere dostopate iz oblaka z uporabo brskalnika. Spletno aplikacijo gradite in vzdržujete v namizni različici […]

Vrstica za hitri zagon v SharePointu 2010

Vrstica za hitri zagon v SharePointu 2010

Večina strani v SharePointu 2010 prikaže seznam navigacijskih povezav v vrstici za hitri zagon na levi strani strani. Vrstica za hitri zagon prikazuje povezave do predstavljene vsebine spletnega mesta, kot so seznami, knjižnice, spletna mesta in strani za objavljanje. Vrstica za hitri zagon vključuje dve zelo pomembni povezavi: Povezava do vse vsebine spletnega mesta: […]

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

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

Pri preprostih težavah reševalec v Excelu običajno hitro najde optimalne vrednosti spremenljivke reševalca za ciljno funkcijo. Toda v nekaterih primerih ima Solver težave pri iskanju vrednosti spremenljivke Solver, ki optimizirajo ciljno funkcijo. V teh primerih Solver običajno prikaže sporočilo ali sporočilo o napaki, ki opisuje ali razpravlja o težavi, ki […]