„Excel VBA IsDate“ funkcijos supratimas

VBA funkcija IsDate tariamai nurodo, ar teksto eilutę galima interpretuoti kaip datą. Pavyzdžiui, visos šios išraiškos įvertinamos kaip True:

IsDate („2015-05-25“)
IsDate („sausio 16 d.“)
IsDate („12-1“)
IsDate („12/1/15“)
IsDate („2/30“)
IsDate („30/2“)

Paskutiniuose dviejuose pavyzdžiuose atkreipkite dėmesį, kad IsDate nėra išrankus dienos ir mėnesio tvarkai. Abi šios eilutės gali būti interpretuojamos kaip data, todėl IsDate grąžina True (neatsižvelgiant į jūsų sistemos datos formato nustatymus).

Štai šiek tiek informacijos iš „ Microsoft“ palaikymo straipsnio :

VBA datos funkcijos IsDate, Format, CDate ir CVDate naudoja funkciją, esančią OLE Automation (OleAut32.dll). Ši funkcija ieško visų galimų datos formatų, ženklindama kiekvieną atskirtą reikšmę eilutėje, nurodančioje datą, ir grąžina Būlio reikšmę, nurodant, ar įvestis gali būti pateikta kaip data.

Tai svarbu atsiminti naudojant funkciją interpretuoti datą, kurioje yra 2 skaitmenų metai. Skirtingose ​​lokalėse naudojami įvairūs datos formatai (ty mm/dd/yy, yy/mm/dd, " DD MMM YY " , " YY MMM DD " ir tt), todėl funkcija bando skaitmenis visose pozicijose, kol funkcija rado tinkamą datą arba išnaudojo visas galimybes.

Vien todėl, kad IsDate atpažįsta eilutę kaip datą, dar nereiškia, kad eilutę galima patikimai konvertuoti į datą. Kai kuriais atvejais rezultatas yra dviprasmiškas. Pavyzdžiui, kaip su šia išraiška?

IsDate („29-02-01“)

2001 m. vasario 29 d. nėra tinkama data. Tačiau ši išraiška grąžina True, nes 1929 m. vasario 1 d. (ir 1929 m. sausio 2 d.) yra galiojančios datos. Taip pat tos pačios datos 2029 m.

„IsDate“ dokumentų paieška buvo tuščia. Remiantis bandymais, IsDate kaip skiriamuosius simbolius priima bet kurį iš šių simbolių: pasvirąjį brūkšnį (/), brūkšnelį (-), kablelį (,), tašką (.) ir tarpą.

Todėl visos šios išraiškos grąžina True:

IsDate („5.1“)
IsDate („30 6“)
IsDate („30,6“)
IsDate („1/2“)

Bet tada yra tokia anomalija: Šios išraiškos grąžina True:

IsDate („5.1.5“)
IsDate („5.1.05“)

Tačiau neaiškiai ši išraiška grąžina False:

IsDate ("2005 1 5"

Tarkime, kad sukūrėte vartotojo formą su įvesties laukeliu, kur vartotojas įveda datą. Turėtų būti aišku, kad IsDate naudojimas įrašui patvirtinti nėra labai patikimas.

Viskas dar labiau paini, kai supranti, kad IsDate taip pat apima laiko reikšmes. (Atitinkamos IsTime funkcijos nėra.) Taigi visos šios išraiškos grąžina True:

IsDate („4:45“)
IsDate („4.45“)
IsDate („4 45“)
IsDate („4/45“)
IsDate („23:59“)

Šios išraiškos grąžina klaidingą:

IsDate („4:60“)
IsDate („24.45“)

Svarbu pažymėti, kad IsDate neparodo visų šių keistenybių, kai perduodate diapazono argumentą. Pavyzdžiui:

IsDate (diapazonas (A1))

Atrodo, kad IsDate yra visiškai patikimas nustatant langelius, kuriuose yra data arba laikas. Pavyzdžiui, ji neidentifikuoja langelio, kuriame yra 5.1 kaip data. Jei jūsų kodui reikia nustatyti, ar eilutę galima interpretuoti kaip datą, geriausias sprendimas yra įdėti tą eilutę į langelį ir parašyti kodą, kad patikrintumėte langelio turinį.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]