VBA konvertuoti eilutę į datą

Ši trumpa pamoka parodys, kaip VBA konvertuoti eilutę į datą.

„Excel“ datos saugomos kaip skaičiai, o tada suformatuojamos taip, kad būtų rodomos kaip data. 1 diena „Excel“ pasaulyje buvo 1900 m. Sausio 1 d. (Numatytasis „Windows“) arba 1904 m. Sausio 1 d. (Numatytasis „Macintosh“) - tai reiškia, kad 2022 m. Rugpjūčio 5 d. Yra 44413 diena nuo 1900 m. Sausio 1 d. Norėdami konvertuoti eilutę į datą programoje „Excel“ , pirmiausia turime konvertuoti eilutę į skaičių, o tada tą skaičių paversti data.

„CDate“ funkcija

Norėdami konvertuoti eilutę į datą, VBA galime naudoti funkciją, pavadintą CDate.

1234567 Subkonvertavimo data ()Dim dte As SinglePritemdyti kaip eilutęstrD = "2020-05-10"dte = CDate (strD)„MsgBox dte“Pabaiga Sub

Kadangi paskelbėme skaitinį kintamąjį (dte kaip vieną), „msgbox“ grąžins numerį, nurodantį įvestą datą.

Svarbu, kad metus įvestume naudodami visus 4 metų skaitmenis (ty 2022 m., O ne tik 20), kitaip pateiktas skaičius gali būti ne toks, kokio tikėtasi. „Excel“ nesupranta datos metų dalies - tai valdo mūsų kompiuterio valdymo skydas.

Tačiau jei kintamuosius deklaruojame kaip datos kintamąjį, pranešimų laukelyje bus pateiktas skaičius, paverstas data.

1234567 Subkonvertavimo data ()Matyti kaip datąPritemdyti kaip eilutęstrD = "2020-05-10"dte = CDate (strD)„MsgBox dte“Pabaiga Sub

Galime žengti dar vieną žingsnį ir suformatuoti datą pagal datos formatą, kurį norėtume matyti.

1234567 Subkonvertavimo data ()Dim dte kaip eilutėPritemdyti kaip eilutęstrD = "2020-05-10"dte = formatas (CDate (strD), "dd mmmm yyyy")„MsgBox dte“Pabaiga Sub

Šiame pavyzdyje mes konvertuojame eilutę į datą, o tada vėl į eilutę!

Jei metus visiškai praleistume, „Excel“ laikosi einamųjų metų.

wave wave wave wave wave