Comprensió de la funció Excel VBA IsDate

La funció IsDate de VBA suposadament us indica si una cadena de text es pot interpretar com una data. Per exemple, totes les expressions següents s'avaluen com a True:

IsDate ("25/5/2015")
IsDate ("16 de gener")
IsDate(“12-1”)
IsDate ("12/1/15")
IsDate ("2/30")
IsDate(“30/2”)

En els dos últims exemples, observeu que IsDate no és exigent amb l'ordre del dia i del mes. Aquestes dues cadenes es podrien interpretar com una data, de manera que IsDate retorna True (independentment de la configuració del format de data del vostre sistema).

Aquí teniu una mica d'informació d'un article de suport de Microsoft :

Les funcions de data VBA IsDate, Format, CDate i CVDate utilitzen una funció que es troba a OLE Automation (OleAut32.dll). Aquesta funció cerca tots els formats de data possibles tokenitzant cadascun dels valors separats a la cadena que representa la data i retorna un valor booleà que indica si l'entrada es pot representar com una data.

Això és important recordar-ho quan utilitzeu la funció per interpretar una data que conté un any de 2 dígits. Les diferents localitzacions utilitzen diversos formats de data (és a dir, mm/dd/aa, aa/mm/dd, " DD MMM AA " , " AA MMM DD " , etc.) i, per tant, la funció prova els dígits en totes les posicions fins que La funció ha trobat una data vàlida o ha esgotat totes les possibilitats.

El fet que IsDate reconegui una cadena com a data no vol dir que la cadena es pugui convertir de manera fiable en una data. En alguns casos, el resultat és ambigu. Per exemple, què passa amb aquesta expressió?

IsDate ("29-feb-01")

El 29 de febrer de 2001 no és una data vàlida. Tanmateix, aquesta expressió retorna True perquè l'1 de febrer de 1929 (i el 2 de gener de 1929) són dates vàlides. I també ho són aquestes mateixes dates el 2029.

Una cerca de documentació IsDate va quedar buida. Segons les proves, IsDate accepta qualsevol dels següents caràcters separadors: una barra inclinada (/), un guionet (-), una coma (,), un punt (.) i un espai.

Per tant, totes les expressions següents retornen True:

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

Però després hi ha aquesta anomalia: les expressions següents retornen True:

IsDate ("5.1.5")
IsDate ("5.1.05")

No obstant això, de manera inexplícita, aquesta expressió retorna False:

IsDate ("5.1.2005")

Suposem que heu creat un UserForm amb un InputBox on l'usuari introdueix una data. Ha de quedar clar que utilitzar IsDate per validar l'entrada no és gaire fiable.

Les coses es tornen encara més confuses quan t'adones que IsDate també cobreix els valors de temps. (No hi ha cap funció IsTime corresponent.) Per tant, totes les expressions següents retornen True:

IsDate ("4:45")
IsDate ("4.45")
IsDate ("4 45")
IsDate ("4/45")
IsDate ("23:59")

Aquestes expressions tornen False:

IsDate ("4:60")
IsDate ("24.45")

És important assenyalar que IsDate no mostra totes aquestes peculiaritats quan passeu un argument Range. Per exemple:

IsDate(Interval(“A1”))

Sembla que IsDate és perfectament fiable per identificar cel·les que contenen una data o una hora. No identifica, per exemple, una cel·la que conté 5.1 com a data. Si el vostre codi ha de determinar si una cadena es pot interpretar com una data, la millor solució és posar aquesta cadena en una cel·la i després escriure codi per comprovar el contingut de la cel·la.


Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word d'obrir fitxers en mode de només lectura a Windows Microsoft Word obre fitxers en mode de només lectura, cosa que fa que sigui impossible editar-los? No us preocupeu, els mètodes es mostren a continuació

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com corregir errors en imprimir documents incorrectes de Microsoft Word Els errors en imprimir documents de Word amb tipus de lletra canviats, paràgrafs desordenats, falta de text o contingut perdut són força habituals. No obstant això, no

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Si heu utilitzat el llapis o el marcador per dibuixar a les vostres diapositives de PowerPoint durant una presentació, podeu desar els dibuixos per a la següent presentació o esborrar-los de manera que la propera vegada que el mostreu, començareu amb diapositives de PowerPoint netes. Seguiu aquestes instruccions per esborrar dibuixos a llapis i ressaltadors: Esborrant línies una a […]

Contingut de la biblioteca destils a SharePoint 2010

Contingut de la biblioteca destils a SharePoint 2010

La biblioteca d'estils conté fitxers CSS, fitxers de llenguatge de full d'estil extensible (XSL) i imatges utilitzades per pàgines mestres predefinides, dissenys de pàgina i controls a SharePoint 2010. Per localitzar fitxers CSS a la biblioteca d'estils d'un lloc de publicació: Trieu Accions del lloc→Visualitza Tot el contingut del lloc. Apareix el contingut del lloc. La biblioteca d'estil es troba a […]

Formateu els números en milers i milions als informes dExcel

Formateu els números en milers i milions als informes dExcel

No desbordeu el vostre públic amb números gigantesques. A Microsoft Excel, podeu millorar la llegibilitat dels vostres taulers i informes formatant els vostres números perquè apareguin en milers o milions.

Com compartir i seguir els llocs de SharePoint

Com compartir i seguir els llocs de SharePoint

Apreneu a utilitzar les eines de xarxes socials de SharePoints que permeten a persones i grups comunicar-se, col·laborar, compartir i connectar-se.

Com convertir les dates a formats Julian a Excel

Com convertir les dates a formats Julian a Excel

Les dates julianes s'utilitzen sovint en entorns de fabricació com a marca de temps i referència ràpida per a un número de lot. Aquest tipus de codificació de dates permet als minoristes, consumidors i agents de serveis identificar quan es va fabricar un producte i, per tant, l'antiguitat del producte. Les dates julianes també s'utilitzen en programació, militars i astronomia. Diferents […]

Com crear una aplicació web daccés

Com crear una aplicació web daccés

Podeu crear una aplicació web a Access 2016. Què és, de totes maneres, una aplicació web? Bé, web vol dir que està en línia i l'aplicació és només una abreviatura de "aplicació". Una aplicació web personalitzada és una aplicació de base de dades en línia a la qual s'accedeix des del núvol mitjançant un navegador. Creeu i manteniu l'aplicació web a la versió d'escriptori […]

Barra dinici ràpid a SharePoint 2010

Barra dinici ràpid a SharePoint 2010

La majoria de les pàgines del SharePoint 2010 mostren una llista d'enllaços de navegació a la barra d'inici ràpid al costat esquerre de la pàgina. La barra d'inici ràpid mostra enllaços al contingut del lloc destacat, com ara llistes, biblioteques, llocs i pàgines de publicació. La barra d'inici ràpid inclou dos enllaços molt importants: Enllaç de tot el contingut del lloc: el […]

Què signifiquen els missatges derror del solucionador a Excel?

Què signifiquen els missatges derror del solucionador a Excel?

Per a problemes senzills, Solver a Excel sol trobar ràpidament els valors òptims de la variable Solver per a la funció objectiu. Però, en alguns casos, Solver té problemes per trobar els valors de la variable Solver que optimitzen la funció objectiu. En aquests casos, Solver normalment mostra un missatge o un missatge d'error que descriu o discuteix el problema que […]