Turinys
Įgyvendinti VBA makrokomandos yra veiksmingiausias, greičiausias ir saugiausias būdas atlikti bet kokią operaciją "Excel" programoje. Šiame straipsnyje parodysime, kaip formatuoti datą "Excel" programoje naudojant VBA .
Atsisiųsti darbo knygą
Nemokamą "Excel" pratybų sąsiuvinį galite atsisiųsti iš čia.
Datos formatavimas naudojant VBA.xlsm
4 metodai, kaip formatuoti datą "Excel" naudojant VBA
Pažvelkite į toliau pateiktą pavyzdį. Tas pačias datas išsaugojome abiejuose B stulpelis ir C kad formatuojant datą C stulpelis , sužinosite iš B stulpelis kokiu formatu data buvo prieš tai.
1. VBA formatuoti datą iš vieno tipo į kitą "Excel" programoje
Pirmiausia sužinokime, kaip formatuoti datą iš Ląstelė C5 mūsų pateiktame duomenų rinkinyje su VBA į " Antradienis-sausio-2022 ".
Žingsniai:
- Paspauskite Alt + F11 klaviatūroje arba eikite į skirtuką Programuotojas -> "Visual Basic atidaryti "Visual Basic" redaktorius .
- Iššokančiame kodo lange meniu juostoje spustelėkite Insert -> Modulis .
- Nukopijuokite šį kodą ir įklijuokite jį į kodo langą.
Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmmmm-yyyy" "Tai suformatuos datą į "Antradienis-sausio-2022" End Sub
Dabar jūsų kodas paruoštas paleisti.
- Paspauskite F5 klaviatūroje arba meniu juostoje pasirinkite Run -> Run Sub/UserForm Taip pat galite tiesiog spustelėti maža piktograma "Play submeniu juostoje, kad paleistumėte makrokomandą.
Šis kodas suformatuos datą " 11-01-22 " į " Antradienis-sausio-2022 ".
Šį datos formatą taip pat galite konvertuoti į daugelį kitų formatų. Tiesiog vadovaukitės toliau pateiktu kodu, kad datą transformuotumėte į reikiamą formatą.
Sub FormatDate() 'Pradinė data yra "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'Tai suformatuos datą į "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'Tai suformatuos datą į "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'Tai suformatuos datą į "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" 'Tai suformatuos datą į"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmmmm-yyyy" "Taip data bus suformatuota į "11-January-2022" Range("C10").NumberFormat = "dd-mm-yy" "Taip data bus suformatuota į "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" "Taip data bus suformatuota į "Tue Jan 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" "Taip data bus suformatuota į "Tuesday January 2022" End Sub
Apžvalga
Skaityti daugiau: Dabar ir formato funkcijos "Excel VBA" programoje
2. Įterpkite VBA, kad konvertuotumėte datą naudodami FORMAT funkciją
"Excel" turi savo serijos numerį, susijusį su atskiromis datomis. Jei norite sužinoti bet kurio
konkrečią datą, turite kreiptis funkcija DATEVALUE .
Tarkime, norite sužinoti datos serijos numerį " 2022 m. sausio 11 d. ", tuomet formulę reikia užrašyti taip,
=DATEVALUE("2022 m. sausio 11 d.")
"Excel" nurodys serijos numerį 44572 nuo šios datos.
Dabar šį skaičių pakeisime į atitinkamą datos formatą.
Žingsniai:
- Kaip ir anksčiau, atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Kodo lange nukopijuokite ir įklijuokite šį kodą.
Sub Format_Date() Dim iDate As Variant iDate = 44572 "Excel" serijos datos numeris "11 January 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub
Dabar jūsų kodas paruoštas paleisti.
Gausite datą " 2022 m. sausio 11 d. " pranešimo langelyje.
Skaityti daugiau: Kaip naudoti VBA DateValue funkciją programoje "Excel
Panašūs skaitiniai
- Kaip įterpti dabartinę datą programoje "Excel" (3 būdai)
- Datos kintamasis VBA koduose (7 makrokomandų naudojimo būdai ir pavyzdžiai)
- Dabartinės datos gavimas VBA (3 būdai)
- Kaip naudoti "Excel" datos spartųjį klavišą
3. VBA, skirtas "Excel" datai transformuoti pagal konkrečią dalį
Tarkime, norite suformatuoti tam tikrą datos dalį, pavyzdžiui, tik dieną/mėnesį/metus, tada parašykite tokį kodą,
Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Tai suformatuos datą į "sausį" End Sub
Dabar jūsų kodas paruoštas paleisti.
" mmmm " šiame kode reiškia ilgąją mėnesio pavadinimo formą.
Kadangi data yra " 2022 m. sausio 11 d. ", todėl ši kodo dalis grąžins " Sausis ".
Šį kodą galite naudoti norėdami suformatuoti ir išskirti bet kurią konkrečią norimą datos dalį.
Sub FormatDateValue() 'Pradinė data yra "11-01-22" Range("C5").NumberFormat = "dd" 'Taip data bus suformatuota į "11" Range("C6").NumberFormat = "ddd" 'Taip data bus suformatuota į "Tue" Range("C7").NumberFormat = "dddd" 'Taip data bus suformatuota į "Tuesday" Range("C8").NumberFormat = "m" 'Taip data bus suformatuota į "1" Range("C9").NumberFormat = "mm" 'Taip data busdatą į "01-2022" Range("C15").NumberFormat = "mmm-yyyy" "Tai suformatuos datą į "Jan-2022" Range("C16").NumberFormat = "dd-yy" "Tai suformatuos datą į "11-22" Range("C17").NumberFormat = "ddd yyyy" "Tai suformatuos datą į "Tue 2022" Range("C18").NumberFormat = "dddd-yyyy" "Tai suformatuos datą į "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm"'Tai suformatuos datą į "11-sausio" Range("C20").NumberFormat = "dddd-mmmm" 'Tai suformatuos datą į "antradienį-sausio" End Sub
Apžvalga
4. Įterpkite VBA, kad suformatuotumėte datą konkrečiame "Excel" darbalapyje
Jei norite formatuoti datą pagal konkretų darbalapį, pirmiausia turite nustatyti darbalapio pavadinimą kode, tada formatuoti datą pagal reikiamą tipą.
- Atviras "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Kodo lange nukopijuokite ir įklijuokite šį kodą.
Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Example") "Nustatykite darbalapį pavadinimu "Example" iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub
Dabar jūsų kodas paruoštas paleisti.
Pažvelkite į 3-iąją kodo eilutę, kurioje pirmiausia nustatome " Pavyzdys " darbalapį, tada suformatuokite to konkretaus "Excel" lapo datą.
Išvada
Šiame straipsnyje buvo parodyta, kaip "Excel" formatuoti datą naudojant VBA . tikiuosi, kad šis straipsnis jums buvo labai naudingas. Drąsiai klauskite, jei turite klausimų šia tema.