Ta kratka vadnica bo pokazala, kako pretvoriti niz v datum v VBA.
Datumi v Excelu so shranjeni kot številke in nato oblikovani, da se prikažejo kot datum. Prvi dan v svetu Excela je bil 1. januar 1900 (privzeto za Windows) ali 1. januar 1904 (privzeto za Macintosh) - kar pomeni, da je 5. avgust 2022 dan 44413 od 1. januarja 1900. Pretvoriti niz v datum v Excelu , najprej moramo niz pretvoriti v številko, nato pa to številko pretvoriti v datum.
Funkcija CDate
Za pretvorbo niza v datum lahko uporabimo funkcijo CDate v VBA.
1234567 | Sub ConvertDate ()Dim dte kot samskiZatemni strD kot nizstrD = "05.10.2020"dte = CDate (strD)MsgBox dteEnd Sub |
Ker smo razglasili številsko spremenljivko (dte kot enojno), bo sporočilo vrnilo številko, ki se nanaša na vneseni datum.
Pomembno je, da leto vnesemo z uporabo vseh štirih številk v letu (tj. 2022 in ne le 20), sicer lahko vrnjeno število ne bo tako, kot smo pričakovali. Excel letnega dela datuma ne razlaga - to nadzoruje nadzorna plošča našega računalnika.
Če pa spremenljivke razglasimo kot spremenljivko datuma, bo polje s sporočilom vrnilo število, pretvorjeno v datum.
1234567 | Sub ConvertDate ()Zatemni kot datumZatemni strD kot nizstrD = "05.10.2020"dte = CDate (strD)MsgBox dteEnd Sub |
Lahko naredimo še en korak naprej in oblikujemo datum v vrsto zapisa datuma, ki bi ga radi videli.
1234567 | Sub ConvertDate ()Dim dte kot nizZatemni strD kot nizstrD = "05.10.2020"dte = Oblika (CDate (strD), "dd mmmm llll")MsgBox dteEnd Sub |
V tem primeru pretvorimo niz v datum in nato spet v niz!
Če bi leto v celoti izpustili, Excel predpostavlja tekoče leto.