Izpratne par Excel VBA IsDate funkciju

VBA funkcija IsDate it kā norāda, vai teksta virkni var interpretēt kā datumu. Piemēram, visas šīs izteiksmes tiek novērtētas kā True:

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

Pēdējos divos piemēros ievērojiet, ka IsDate nav izvēlīgs attiecībā uz dienas un mēneša secību. Abas šīs virknes var interpretēt kā datumu, tāpēc IsDate atgriež True (neatkarīgi no jūsu sistēmas datuma formāta iestatījumiem).

Tālāk ir sniegta informācija no Microsoft atbalsta raksta :

VBA datuma funkcijas IsDate, Format, CDate un CVDate izmanto funkciju, kas atrodama OLE Automation (OleAut32.dll). Šī funkcija meklē visus iespējamos datuma formātus, marķierizējot katru atdalīto vērtību virknē, kas attēlo datumu, un atgriež Būla vērtību, kas norāda, vai ievadi var attēlot kā datumu.

Tas ir svarīgi atcerēties, izmantojot funkciju, lai interpretētu datumu, kurā ir 2 ciparu gads. Dažādās lokalizācijās tiek izmantoti dažādi datuma formāti (t.i., mm/dd/gg, gg/mm/dd, DD MMM GG , GG MMM DD un tā tālāk), un tāpēc funkcija mēģina ievadīt ciparus visās pozīcijās, līdz funkcija ir atradusi derīgu datumu vai izsmēlusi visas iespējas.

Tas, ka IsDate atpazīst virkni kā datumu, nenozīmē, ka virkni var droši pārveidot par datumu. Dažos gadījumos rezultāts ir neskaidrs. Piemēram, kā ir ar šo izteicienu?

IsDate (“29-Feb-01”)

2001. gada 29. februāris nav derīgs datums. Tomēr šī izteiksme atgriež True, jo 1929. gada 1. februāris (un 1929. gada 2. janvāris) ir derīgi datumi. Un tie paši datumi ir arī 2029. gadā.

Meklējot IsDate dokumentāciju, tika atrasts tukšs. Pamatojoties uz testēšanu, IsDate kā atdalīšanas rakstzīmes pieņem jebkuru no šīm rakstzīmēm: slīpsvītru (/), defisi (-), komatu (,), punktu (.) un atstarpi.

Tāpēc visi šie izteicieni atgriež True:

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

Bet tad ir šī anomālija: šādi izteicieni atgriež True:

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

Tomēr nepārprotami šī izteiksme atgriež False:

IsDate (“5.1.2005”)

Pieņemsim, ka esat izveidojis lietotāja veidlapu ar ievades lodziņu, kurā lietotājs ievada datumu. Ir jābūt skaidram, ka IsDate izmantošana ieraksta apstiprināšanai nav ļoti uzticama.

Lietas kļūst vēl mulsinošākas, kad saprotat, ka IsDate aptver arī laika vērtības. (Nav atbilstošas ​​funkcijas IsTime.) Tātad visas šādas izteiksmes atgriež True:

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

Šie izteicieni atgriež False:

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

Ir svarīgi norādīt, ka IsDate neparāda visas šīs dīvainības, kad jūs nododat diapazona argumentu. Piemēram:

IsDate (diapazons ("A1"))

Šķiet, ka IsDate ir pilnīgi uzticams, lai identificētu šūnas, kurās ir datums vai laiks. Tas, piemēram, neidentificē šūnu, kurā kā datums ir 5.1. Ja kodam ir jānosaka, vai virkni var interpretēt kā datumu, labākais risinājums ir ievietot šo virkni šūnā un pēc tam ierakstīt kodu, lai pārbaudītu šūnas saturu.

Leave a Comment

Kā pārvietoties Word 2007 tabulā

Kā pārvietoties Word 2007 tabulā

Uzziniet, kā efektīvi pārvietoties Word 2007 tabulā, izmantojot īsinājumtaustiņus un peles darbības, lai optimizētu savu darba plūsmu.

10 Excel funkcijas, kas jums patiešām būtu jāzina

10 Excel funkcijas, kas jums patiešām būtu jāzina

Šajā sarakstā ir iekļautas desmit populārākās Excel funkcijas, kas attiecas uz plašu vajadzību klāstu. Uzziniet, kā izmantot <strong>Excel funkcijas</strong> efektīvāk!

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Uzziniet, kā pievienot papildu analīzes slāņus jūsu Excel diagrammām, lai uzlabotu vizualizāciju un sniegtu precīzākus datus. Šis raksts apraksta visas nepieciešamās darbības.

Kā izveidot rindkopas atkāpi programmā Word 2013

Kā izveidot rindkopas atkāpi programmā Word 2013

Uzziniet, kā iestatīt <strong>rindkopas atkāpi</strong> programmā Word 2013, lai uzlabotu dokumenta noformējumu un lasāmību.

Kā ievietot slejas Word 2010 dokumentā

Kā ievietot slejas Word 2010 dokumentā

Uzziniet, kā pareizi ievietot slejas programmā Word 2010, lai uzlabotu jūsu dokumentu formātu un struktūru.

Šūnu datu aizsardzība programmā Excel 2007

Šūnu datu aizsardzība programmā Excel 2007

Apsveriet iespēju aizsargāt Excel 2007 darblapu, lai izvairītos no neplānotām izmaiņām. Uzziniet, kā aizsargāt un atbloķēt šūnas, lai nodrošinātu datu integritāti.

PMT funkcija programmā Excel 2013

PMT funkcija programmā Excel 2013

Programmas Excel 2013 PMT funkcija aprēķina periodisko mūža rentes maksājumu. Šī funkcija ir būtiska hipotekāro kredītu maksājumu plānošanai.

Kā lietot t-test datu analīzes rīku programmā Excel

Kā lietot t-test datu analīzes rīku programmā Excel

Mācieties, kā veikt t-testus Excel programmā, izmantojot datus un aprakstot trīs t-testu veidus, kas noderēs jūsu datu analīzes procesā.

Kā filtrēt datu sarakstu programmā Excel 2016

Kā filtrēt datu sarakstu programmā Excel 2016

Uzziniet, kā filtrēt datu sarakstu programmā Excel 2016, lai ērti paslēptu nevēlamus ierakstus un strādātu tikai ar nepieciešamajiem datiem.

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Uzziniet, kā vienkārši pievienot datu etiķetes diagrammai programmā Excel 2007. Palīdziet noteikt vērtības, kas tiek rādītas katrā datu punktā, izmantojot dažādas izvietošanas un formatēšanas iespējas.