Kaip "Excel" formatuoti datą naudojant VBA (4 metodai)

  • Pasidalinti
Hugh West

Į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 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 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.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.