Pochopení funkce Excel VBA IsDate

Funkce IsDate VBA vám údajně říká, zda lze textový řetězec interpretovat jako datum. Například všechny následující výrazy se vyhodnotí jako True:

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

V posledních dvou příkladech si všimněte, že IsDate není vybíravé, pokud jde o pořadí dne a měsíce. Oba tyto řetězce lze interpretovat jako datum, takže IsDate vrátí True (bez ohledu na vaše systémové nastavení formátu data).

Zde je několik informací z článku podpory společnosti Microsoft :

Funkce data VBA IsDate, Format, CDate a CVDate využívají funkci nalezenou v OLE Automation (OleAut32.dll). Tato funkce prohledává všechny možné formáty data tokenizací každé z oddělených hodnot v řetězci představujícím datum a vrací booleovskou hodnotu označující, zda lze vstup reprezentovat jako datum.

To je důležité mít na paměti, když používáte funkci k interpretaci data, které obsahuje 2 číslice roku. Různá národní prostředí používají různé formáty data (tj. mm/dd/rr, rr/mm/dd, DD MMM RR , RR MMM DD atd.), a proto funkce zkouší číslice na všech pozicích, dokud funkce našla platné datum nebo vyčerpala všechny možnosti.

To, že IsDate rozpoznává řetězec jako datum, neznamená, že řetězec lze spolehlivě převést na datum. V některých případech je výsledek nejednoznačný. Co například tento výraz?

IsDate("29-Feb-01")

29. únor 2001 není platné datum. Tento výraz však vrátí hodnotu True, protože 1. únor 1929 (a 2. leden 1929) jsou platná data. A tak jsou stejná data v roce 2029.

Hledání dokumentace IsDate bylo prázdné. Na základě testování přijímá IsDate jako oddělovací znaky libovolné z následujících znaků: lomítko (/), spojovník (-), čárku (,), tečku (.) a mezeru.

Proto všechny následující výrazy vrátí hodnotu True:

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

Ale pak je tu tato anomálie: Následující výrazy vrátí True:

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

Neexplicitně však tento výraz vrací False:

IsDate(“5.1.2005”)

Předpokládejme, že jste vytvořili UserForm s InputBox, kde uživatel zadá datum. Mělo by být jasné, že použití IsDate k ověření záznamu není příliš spolehlivé.

Věci se ještě více zamotají, když si uvědomíte, že IsDate zahrnuje také časové hodnoty. (Neexistuje žádná odpovídající funkce IsTime.) Takže všechny následující výrazy vracejí True:

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

Tyto výrazy vrací False:

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

Je důležité zdůraznit, že IsDate nevykazuje všechny tyto zvláštnosti, když předáte argument Range. Například:

IsDate(Rozsah(“A1”))

Zdá se, že IsDate je dokonale spolehlivý při identifikaci buněk, které obsahují datum nebo čas. Neidentifikuje například buňku obsahující 5.1 jako datum. Pokud váš kód potřebuje určit, zda lze řetězec interpretovat jako datum, nejlepším řešením je vložit tento řetězec do buňky a poté napsat kód pro kontrolu obsahu buňky.


Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows Aplikace Microsoft Word otevírá soubory v režimu pouze pro čtení, takže je nelze upravovat? Nebojte se, metody jsou uvedeny níže

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit chyby při tisku nesprávných dokumentů Microsoft Word Chyby při tisku dokumentů Word se změněným písmem, chaotickými odstavci, chybějícím textem nebo ztraceným obsahem jsou poměrně časté. Nicméně ne

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Pokud jste použili pero nebo zvýrazňovač ke kreslení na snímky aplikace PowerPoint během prezentace, můžete kresby uložit pro další prezentaci nebo je vymazat, takže až ji příště ukážete, začnete s čistými snímky aplikace PowerPoint. Chcete-li vymazat kresby perem a zvýrazňovačem, postupujte podle těchto pokynů: Mazání čar jedna na […]

Obsah knihovny stylů v SharePointu 2010

Obsah knihovny stylů v SharePointu 2010

Knihovna stylů obsahuje soubory CSS, soubory XSL (Extensible Stylesheet Language) a obrázky používané předdefinovanými vzorovými stránkami, rozvržení stránek a ovládací prvky v SharePointu 2010. Chcete-li najít soubory CSS v knihovně stylů webu pro publikování: Vyberte Akce webu→ Zobrazit Veškerý obsah webu. Zobrazí se obsah webu. Knihovna stylů se nachází v […]

Formátování čísel v tisících a milionech v sestavách Excel

Formátování čísel v tisících a milionech v sestavách Excel

Nezahlcujte své publikum gargantuovskými čísly. V aplikaci Microsoft Excel můžete zlepšit čitelnost řídicích panelů a sestav formátováním čísel tak, aby se zobrazovaly v tisících nebo milionech.

Jak sdílet a sledovat weby SharePoint

Jak sdílet a sledovat weby SharePoint

Naučte se používat nástroje sociálních sítí SharePoints, které umožňují jednotlivcům a skupinám komunikovat, spolupracovat, sdílet a propojovat se.

Jak převést data do juliánských formátů v aplikaci Excel

Jak převést data do juliánských formátů v aplikaci Excel

Juliánská data se často používají ve výrobním prostředí jako časové razítko a rychlý odkaz pro číslo šarže. Tento typ kódování data umožňuje maloobchodníkům, spotřebitelům a servisním zástupcům identifikovat, kdy byl produkt vyroben, a tím i stáří produktu. Juliánská data se také používají v programování, armádě a astronomii. Odlišný […]

Jak vytvořit webovou aplikaci Access

Jak vytvořit webovou aplikaci Access

Webovou aplikaci můžete vytvořit v Accessu 2016. Co je tedy vlastně webová aplikace? Web znamená, že je online, a aplikace je jen zkratka pro „aplikaci“. Vlastní webová aplikace je online databázová aplikace přístupná z cloudu pomocí prohlížeče. Webovou aplikaci vytváříte a udržujete ve verzi pro počítače […]

Panel rychlého spuštění v SharePointu 2010

Panel rychlého spuštění v SharePointu 2010

Většina stránek v SharePointu 2010 zobrazuje seznam navigačních odkazů na panelu Snadné spuštění na levé straně stránky. Panel Snadné spuštění zobrazuje odkazy na doporučený obsah webu, jako jsou seznamy, knihovny, weby a stránky publikování. Panel Snadné spuštění obsahuje dva velmi důležité odkazy: Odkaz na veškerý obsah webu: […]

Co znamenají chybové zprávy Řešitel v Excelu?

Co znamenají chybové zprávy Řešitel v Excelu?

U jednoduchých problémů Řešitel v Excelu obvykle rychle najde optimální hodnoty proměnné Řešitel pro účelovou funkci. Ale v některých případech má Řešitel problém najít hodnoty proměnné Řešitel, které optimalizují účelovou funkci. V těchto případech Řešitel obvykle zobrazí zprávu nebo chybovou zprávu, která popisuje nebo popisuje problém, který […]