See lühike õpetus näitab, kuidas VBA -s stringi kuupäevaks teisendada.
Kuupäevad Excelis salvestatakse numbriteks ja vormindatakse seejärel kuupäevaks. Esimene päev Exceli maailmas oli 1. jaanuar 1900 (Windowsi vaikeseade) või 1. jaanuar 1904 (Macintoshi vaikeseade) - see tähendab, et 5. august 2022 on 1. jaanuarist 1900 alates päev 44413. Stringi teisendamiseks Excelis kuupäevaks , peame kõigepealt stringi teisendama arvuks ja seejärel teisendama selle kuupäevaks.
CDate funktsioon
Stringi kuupäevaks teisendamiseks saame VBA -s kasutada funktsiooni CDate.
1234567 | Alamkonverteerimise kuupäev ()Dim dte SingleHämarda stringinastrD = "05.10.2020"dte = CDate (strD)MsgBox dteEnd Sub |
Kuna oleme deklareerinud numbrilise muutuja (dte kui üksik), tagastab sõnumikast numbri, mis viitab sisestatud kuupäevale.
Oluline on sisestada aasta, kasutades kõiki nelja aasta numbrit (st 2022 ja mitte ainult 20), vastasel juhul ei pruugi tagastatud arv olla ootuspärane. Excel ei tõlgenda kuupäeva aastaosa - seda juhib meie arvuti juhtpaneel.
Kui aga kuulutame muutujad kuupäevamuutujaks, tagastab sõnumikast kuupäevaks teisendatud numbri.
1234567 | Alamkonverteerimise kuupäev ()Dim dte As DateHämarda stringinastrD = "05.10.2020"dte = CDate (strD)MsgBox dteEnd Sub |
Võime selle sammu edasi teha ja vormindada kuupäeva selliseks kuupäevavorminguks, mida sooviksime näha.
1234567 | Alamkonverteerimise kuupäev ()Dim dte nagu stringHämarda stringinastrD = "05.10.2020"dte = Vorming (CDate (strD), "dd mmmm yyyy")MsgBox dteEnd Sub |
Selles näites teisendame stringi kuupäevaks ja seejärel uuesti stringiks!
Kui me aasta täielikult välja jätaksime, eeldab Excel jooksvat aastat.