Pochopenie funkcie Excel VBA IsDate

Funkcia IsDate VBA vám údajne povie, či je možné textový reťazec interpretovať ako dátum. Napríklad všetky nasledujúce výrazy sa vyhodnotia ako True:

IsDate(“25. 5. 2015”)
IsDate(“16. január”)
IsDate(“12-1”)
IsDate(“12/1/15”)
IsDate(“2/30”)
IsDate(“30/2”)

V posledných dvoch príkladoch si všimnite, že IsDate nie je vyberavý, pokiaľ ide o poradie dňa a mesiaca. Oba tieto reťazce možno interpretovať ako dátum, takže IsDate vráti hodnotu True (bez ohľadu na vaše systémové nastavenia formátu dátumu).

Tu je niekoľko informácií z článku podpory spoločnosti Microsoft :

Funkcie dátumu VBA IsDate, Format, CDate a CVDate využívajú funkciu nachádzajúcu sa v OLE Automation (OleAut32.dll). Táto funkcia vyhľadáva všetky možné formáty dátumu tak, že tokenizuje každú z oddelených hodnôt v reťazci predstavujúcom dátum a vráti boolovskú hodnotu označujúcu, či je možné vstup reprezentovať ako dátum.

Toto je dôležité mať na pamäti pri používaní funkcie na interpretáciu dátumu, ktorý obsahuje 2-ciferný rok. Rôzne miestne nastavenia používajú rôzne formáty dátumu (t. j. mm/dd/rr, rr/mm/dd, DD MMM RR , RR MMM DD atď.), a preto funkcia skúša číslice na všetkých pozíciách, kým sa funkcia našla platný dátum alebo vyčerpala všetky možnosti.

To, že IsDate rozpoznáva reťazec ako dátum, neznamená, že reťazec možno spoľahlivo previesť na dátum. V niektorých prípadoch je výsledok nejednoznačný. Ako je to napríklad s týmto výrazom?

IsDate(“29-Feb-01”)

29. február 2001 nie je platný dátum. Tento výraz však vráti hodnotu True, pretože 1. február 1929 (a 2. január 1929) sú platnými dátumami. A rovnaké sú tie isté dátumy v roku 2029.

Hľadanie dokumentácie IsDate bolo prázdne. Na základe testovania, IsDate akceptuje ľubovoľné z nasledujúcich znakov ako oddeľovacie znaky: lomku (/), spojovník (-), čiarku (,), bodku (.) a medzeru.

Preto všetky nasledujúce výrazy vrátia hodnotu True:

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

Ale potom je tu táto anomália: Nasledujúce výrazy vrátia hodnotu True:

IsDate(“5.1.5”)
IsDate(“5.1.05”)

Neexplicitne však tento výraz vráti hodnotu False:

IsDate(“5.1.2005”)

Predpokladajme, že ste vytvorili UserForm s InputBox, kde používateľ zadá dátum. Malo by byť jasné, že použitie IsDate na overenie záznamu nie je veľmi spoľahlivé.

Veci sú ešte mätúce, keď si uvedomíte, že IsDate zahŕňa aj časové hodnoty. (Neexistuje žiadna zodpovedajúca funkcia IsTime.) Všetky nasledujúce výrazy teda vrátia hodnotu True:

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

Tieto výrazy vrátia hodnotu False:

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

Je dôležité zdôrazniť, že IsDate nevykazuje všetky tieto zvláštnosti, keď prejdete argumentom Range. Napríklad:

IsDate(Rozsah(“A1”))

Zdá sa, že IsDate je dokonale spoľahlivý pri identifikácii buniek, ktoré obsahujú dátum alebo čas. Neidentifikuje napríklad bunku, ktorá obsahuje 5.1 ako dátum. Ak váš kód potrebuje určiť, či je možné reťazec interpretovať ako dátum, najlepším riešením je vložiť tento reťazec do bunky a potom napísať kód na kontrolu obsahu bunky.


Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]