VBA IsDate - Comment utiliser la fonction Excel VBA IsDate?

Table des matières

Fonction Excel VBA IsDate

IsDate est la fonction VBA qui teste si la valeur donnée est la date ou non. Si la valeur fournie ou la valeur de référence de la plage est la valeur de date, nous obtiendrons le résultat comme «TRUE», si la valeur n'est pas la valeur de date, nous obtiendrons le résultat comme «FALSE». Donc, le résultat est la valeur BOOLEAN c'est-à-dire VRAI ou FAUX.

Voici la syntaxe de la fonction IsDate.

L'expression n'est rien d'autre que la valeur que nous essayons de tester, que ce soit la date ou non.

Comment utiliser la fonction VBA IsDate?

Nous allons tester si la valeur «5.01.19» est une valeur de date ou non.

Pour ce premier démarrage, la procédure de macro Excel.

Code:

Sub IsDate_Example1 () End Sub

Définissez la variable pour stocker la valeur de date, et comme la valeur sera valeur de date, affectez le type de données comme «Date» uniquement.

Code:

Sub IsDate_Example1 () Dim MyDate As Date End Sub

Attribuez maintenant la valeur «5.1.19» à la variable «MyDate».

Code:

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

Ouvrez la boîte de message dans VBA maintenant.

Code:

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

Dans cette boîte de message, nous allons tester si la valeur de date fournie à la variable «MyDate» est la date ou non en utilisant la fonction «IsDate». Tout d'abord, ouvrez la fonction «IsDate».

Code:

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

L'expression est la valeur que nous testons pour déterminer s'il s'agit de Date ou non. Puisque nous avons déjà stocké la valeur dans la variable «MyDate», fournissez uniquement le nom de la variable.

Code:

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

Ok, maintenant exécutez le code et voyez ce que nous obtenons dans la boîte de message.

Sensationnel!!! Le résultat est VRAI .

Vous devez vous demander comment il a reconnu la valeur «5.1.19» comme date.

La raison pour laquelle il a renvoyé le résultat comme TRUE parce que lorsque vous regardez la valeur donnée «5.1.19», il s'agit de la forme abrégée de la date «05.01.2019», donc Excel est suffisamment brillant pour la reconnaître comme date, donc le résultat est VRAI.

Maintenant, voici la chose délicate, pour la même valeur, ce que nous allons faire est de changer la forme courte de l'année du 19 au 2019.

Code:

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

Maintenant, exécutez le code et voyez le résultat.

Cette fois, il a renvoyé le résultat comme FALSE car la partie "jour et mois" de la date est au format abrégé, mais la partie année est au format complet "AAAA", donc ISDATE ne peut pas reconnaître qu'il a une date, donc le résultat c'est faux.

Maintenant, regardez le code ci-dessous.

Code:

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

J'ai mentionné un format de jour et de mois complet en utilisant 0. Exécutons le code et voyons le résultat de la fonction IsDate.

Cette fois aussi, nous obtenons le résultat FALSE .

Modifiez maintenant le code comme suit.

Code:

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

Au lieu du point (.) Comme séparateur, nous avons entré une barre oblique (/) comme séparateur. Maintenant, exécutez le code et voyez le résultat.

Cette fois, nous avons obtenu le résultat VRAI .

C'est la raison pour laquelle je vous ai dit au début de l'article que «Date» est une chose sensible.

Maintenant, ce que je vais faire, c'est fusionner la date et l'heure ensemble.

Code:

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

Ce que j'ai ajouté ci-dessus est la partie horaire de «15:26:24» devant la date. Maintenant, exécutez le code et voyez le résultat.

Cette fois aussi, nous avons obtenu le résultat VRAI car DATE et HEURE dans Excel sont les mêmes choses et sont stockées sous forme de numéros de série. Le nombre entier représente la partie de la date et les décimales représentent la partie de l'heure.

Choses à retenir ici

  • IsDate renvoie le résultat de type booléen, c'est-à-dire TRUE ou FALSE.
  • IsDate est disponible uniquement en tant que fonction VBA.
  • Seules les dates formatées valides sont traitées comme la date, sinon elles seront traitées comme des valeurs de texte et renverront le résultat comme FALSE.

Articles intéressants...