VBA IsDate | Com s'utilitza la funció IsDate d'Excel VBA?

Funció IsDate d'Excel VBA

Data Is és la funció VBA que prova si el valor donat és la data o no. Si el valor de referència o interval de subministrament és un valor de data, obtindrem el resultat com a "TRUE", si el valor no és un valor de data, obtindrem el resultat com a "FALS". Per tant, el resultat és el valor BOOLEAN, és a dir, TRUE o FALSE.

A continuació es mostra la sintaxi de la funció IsDate.

Expressió no és res més que el valor que intentem comprovar si és la data o no.

Com s'utilitza la funció VBA IsDate?

Podeu descarregar aquesta plantilla Excel de VBA IsDate aquí - Plantilla Excel de VBA IsDate

Provarem si el valor "5.01.19" és un valor de data o no.

Per a això, primer inicieu el procediment de macros excel.

Codi:

 Sub IsDate_Example1 () Final Sub 

Definiu la variable per emmagatzemar el valor de la data i atès que el valor serà el valor de la data, assigneu el tipus de dades només com a "Data".

Codi:

 Sub IsDate_Example1 () Atenua la meva data com a data de finalització Sub 

Ara assigneu el valor de "5.1.19" a la variable "La meva data".

Codi:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" End Sub 

Obriu el quadre de missatges a VBA ara

Codi:

 Sub IsDate_Example1 () Dim MyDate as Date MyDate = "5.1.19" MsgBox (End Sub 

En aquest quadre de missatges, provarem si el valor de data subministrat a la variable "La meva data" és la data o no mitjançant la funció "Data is". Primer, obriu la funció "IsDate".

Codi:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub 

Expressió és el valor que estem provant per saber si és Data o no. Com que ja hem emmagatzemat el valor de la variable "MyDate", proporcioneu només el nom de la variable.

Codi:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub 

D’acord, ara executeu el codi i vegeu què obtenim al quadre de missatges.

Vaja !!! El resultat és CERT.

Us heu de preguntar com ha reconegut el valor "5.1.19" com a data.

La raó per la qual ha retornat el resultat com a CERT perquè es fixa en el valor donat “5.1.19” és la forma breu de la data “05.01.2019” per tant, Excel és prou brillant per reconèixer-lo com a data, de manera que el resultat és VERITAT.

Ara arriba el complicat, pel mateix valor que farem és que canviarem la forma curta de l'any del 19 al 2019.

Codi:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub 

Ara executeu el codi i vegeu el resultat.

Aquesta vegada ha retornat el resultat com a FALS perquè la part "dia i mes" de la data és breu, però la part de l'any està en forma completa de "AAAA", de manera que ISDATE no pot reconèixer que té una data, de manera que el resultat és FALS.

Ara mireu el codi següent.

Codi:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub 

He esmentat el format del dia complet i del mes complet amb 0, executem el codi i vegem el resultat de la funció IsDate.

Aquesta vegada també anem a obtenir el resultat FALS.

Ara canvieu el codi de la següent manera.

Codi:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub 

En lloc del punt (.) Com a separador, hem introduït la barra inclinada (/) com a separador. Ara executeu el codi i vegeu el resultat.

Aquesta vegada hem obtingut el resultat CERT.

Aquesta és la raó per la qual us he dit al principi de l'article que "Data" és una cosa sensible.

Ara el que faré és combinar la data i l’hora juntes.

Codi:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub 

El que he afegit més amunt és la part horària de "15:26:24" que hi ha abans de la data. Ara executeu el codi i vegeu el resultat.

Aquesta vegada també hem obtingut el resultat CERT perquè DATE i HORA a Excel són les mateixes coses i s’emmagatzemen com els números de sèrie. El nombre sencer representa la part de la data i els decimals representen la part de temps.

Coses que cal recordar aquí

  • IsDate retorna el resultat de tipus booleà, és a dir, TRUE o FALSE.
  • IsDate només està disponible com a funció VBA.
  • Només es tracten les dates amb format vàlid com la data o bé es tractarà com a valors de text i retornarà el resultat com a FALS.