Différence entre DateValue et CDate dans VBA
Je suis nouveau sur VBA et je suis en train de travailler sur un module pour lire les données à partir d'une feuille de calcul et calculer des valeurs basées sur les dates de la feuille de calcul. J'ai lu dans les variables en une Chaîne, puis suis actuellement en train de modifier les valeurs d'une Date à l'aide CDate. Cependant j'ai juste couru à travers Dateval et je me demandais quelle était la différence entre les deux fonctions ont été et qui est le meilleur à utiliser.
source d'informationauteur Ryan Newman
Vous devez vous connecter pour publier un commentaire.
DateValue
sera de retour que la date.CDate
permettra de conserver la date et l'heure:De même, vous pouvez utiliser
TimeValue
à retourner uniquement le temps de la partie:Aussi, comme guitarthrower dit,
DateValue
(etTimeValue
) n'accepteraString
paramètres, tandis queCDate
peut traiter des nombres. Pour émuler ces fonctions pour les types numériques, l'utilisationCDate(Int(num))
etCDate(num - Int(num))
.CDate
vous permet de convertir un nombre ou du texte à une date.DateValue
va convertir la date en format texte (uniquement) à une date.Les deux CDate et DateValue, lorsqu'il est utilisé en vba, convertit une valeur à une Date (jj/mm/aaaa):
1)
LstrDate = "July 24, 2014"
LDate = CDate(LstrDate)
2)
LDate = DateValue("July 24, 2014")
Les deux retournent le même résultat.
Cependant Dateval renvoie le numéro de série d'une date si elle est utilisée au niveau de l'application (feuille de calcul)