Dátum-összehasonlítás VBA-ban

naptár oldal

A VBA a dátumot az 1899. december 30. óta eltelt napok számában tárolja.

Kép jóváírása: Sergii Gnatiuk/iStock/Getty Images

A dátumok összehasonlítása a Microsoft Visual Basic for Applications programban nem különbözik bármely más adattípus összehasonlításától. Az összehasonlítandó értékeknek „Dátum” típusúnak kell lenniük. Használhatja a szabványos összehasonlító operátorokat: "" a "nagyobb, mint"; ">=" a "nagyobb vagy egyenlő"; "=" az "egyenlő"; és "<>" a "nem egyenlő." Két összehasonlító operátort is használhat, az "Is" és az "IsNot".

VBA dátum típusa

A dátumok összehasonlításakor hasznos megjegyezni, hogy a VBA hogyan tárolja a dátumértékeket a memóriában. A dátum dupla pontosságú lebegőpontos számként vagy kettősként kerül tárolásra. A hosszú egész rész az 1899. december 30-a óta eltelt pozitív vagy negatív napok száma. A tizedes rész az éjfél óta eltelt idő. Az idő nélküli dátum tizedes része nullára van állítva. Például az 1967. május 1. 24593.0 néven van tárolva. Ez azt jelenti, hogy amikor a VBA két dátumot hasonlít össze, akkor valójában két olyan számot hasonlít össze, amelyek a napokat jelentik.

A nap videója

Karakterlánc vs. Dátum

Amikor dátumokat hasonlít össze VBA-ban, gondoskodnia kell arról, hogy az összehasonlított értékek „Dátum” típusúak legyenek, és ne legyenek karakterláncok. Például a "05/01/1999" karakterlánc kisebb, mint az "1900/12/31" karakterlánc, mert a "05" "12" elé kerül. Konvertálja a karakterláncot dátumtípussá a „CDate” függvény segítségével, például „CDate (Szövegdoboz. Érték)".

Hasznos funkciók

A CDate() mellett további hasznos funkciók is használhatók a dátumok összehasonlításakor. A "Dátum()" függvény a mai dátumot adja meg Dátum értékként. A "Now()" függvény a mai dátumot és időt adja meg Dátum értékként. Mivel a Dátum adattípus időkomponenst is tartalmaz, a változónak csak a dátum részét bonthatja ki amikor a dátumokat a "DateValue()" függvény használatával hasonlítja össze, például "Ha beküldés > DateValue (határidő) Akkor ..."

Dátum Aritmetika

Mivel a dátum az 1899. december 30. óta eltelt napok számaként kerül tárolásra, a VBA-ban a dátumok összehasonlításakor megadhat dátumszámítást. Például, ha egy jegy a vásárlás után három nappal lejár, a következőhöz hasonló VBA-kóddal ellenőrizheti a lejárt jegyet:

Nyilvános funkció lejárt (vásárlás dátumként) Boolean lejártként = hamis, ha vásárlás+3 > dátum() Akkor lejárt = igaz vége, ha vége függvény