Š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ų.