VBA Date entier
est-il un moyen pour obtenir le sous-jacent entier pour Date
fonction en VBA ? Je fais référence à l'entier stocké par Excel pour décrire les dates dans la mémoire en termes de nombre de jours (quand le temps est inclus, il peut être un flotteur alors je suppose). Je suis le seul intérêt de la partie entière. Est-il juste une autre fonction pour ça ?
Par exemple, pour aujourd'hui (), je voudrais être en mesure de revenir 40877..
Merci les gars 😉
OriginalL'auteur Jerome | 2011-11-30
Vous devez vous connecter pour publier un commentaire.
Date n'est pas un Entier en VB(A), c'est un Double.
Vous pouvez obtenir une Date de valeur en la passant à
CDbl()
.Pour obtenir la partie entière, utilisez
qui permettrait le retour d'un
LongDouble sans décimale (c'est à dire ce queFloor()
le ferait dans d'autres langues).À l'aide de
CLng()
ouRound()
aurait pour résultat arrondi, qui sera de retour un jour dans l'avenir" lorsqu'il est appelé à après 12:00 midi, afin de ne pas le faire.sur mon système
bien sûr, parce que
VarType(Int(CDbl(Now())))
renvoie 5, qui est la valeur devbDouble
, mais est lui-même unLong
. EssayezTypeName(Int(CDbl(Now())))
.Si vous utilisez
Date
au lieu deNow
tous les jours des problèmes d'aller plus loin -Date
(la fonction n'est pas le type de données) renvoie le jour avec des pas de temps de la composante.ne pas oublier que l'OP a une question sur la fonction Date en premier lieu, non pas la fonction Maintenant.
OriginalL'auteur Tomalak
Suffit d'utiliser
CLng(Date)
.Notez que vous devez utiliser
Long
pasInteger
pour ce que la valeur de la date courante est > 32767CLng arrondir les après-midi des valeurs jusqu'à la prochaine journée.
J'ai utilisé
Date
pasNow
.Date
n'a pas le temps de composants, doncCLng
est très bien et en sécurité.bien sûr. J'ai négligé. Je n'ai pas jeté le downvote, donc je ne peux pas le supprimer 🙁 j'ai ajouté un upvote, cependant 🙂
pas de soucis, qui me fait net +8!
OriginalL'auteur Jon Egerton
OriginalL'auteur xQbert
Vous pouvez utiliser soufflet exemple de code pour la chaîne de date comme mdate et Maintenant() comme aujourd'hui, vous pouvez également calculer la déférence entre les deux date comme le Vieillissement de la
NB: Utilisé
CDate
pour convertir la Chaîne de Date à Date ValideJe suis en utilisant ce dans Office 2007 🙂
OriginalL'auteur SftAps