Kako oblikovati datum z VBA v Excelu (4 metode)

  • Deliti To
Hugh West

Izvajanje Makro VBA je najučinkovitejša, najhitrejša in najvarnejša metoda za izvedbo katere koli operacije v Excelu. V tem članku vam bomo pokazali, kako formatirati datum v Excelu z uporabo VBA .

Prenos delovnega zvezka

Brezplačni delovni zvezek Excel lahko prenesete s tega mesta.

Oblikovanje datuma z VBA.xlsm

4 metode za oblikovanje datuma v Excelu z VBA

Oglejte si naslednji primer. Iste datume smo shranili v oba Stolpec B in . C tako da pri oblikovanju datuma v Stolpec C , boste izvedeli iz Stolpec B v katerem formatu je bil datum prej.

1. VBA za oblikovanje datuma iz ene vrste v drugo v Excelu

Najprej povejmo, kako oblikovati datum iz Celica C5 v našem danem naboru podatkov z VBA na " torek-januar-2022 ".

Koraki:

  • Pritisnite Alt + F11 na tipkovnici ali odprite zavihek Razvijalec -> Visual Basic da odprete Urejevalnik Visual Basic .

  • V pojavnem oknu kode v menijski vrstici kliknite Vstavljanje -> Modul .

  • Kopirajte naslednjo kodo in jo prilepite v okno s kodo.
 Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmm-yyyy" 'To bo formatiralo datum na "Torek-Januar-2022" End Sub 

Vaša koda je zdaj pripravljena za zagon.

  • Pritisnite F5 na tipkovnici ali v menijski vrstici izberite Run -> Run Sub/UserForm Lahko tudi kliknete na majhna ikona za predvajanje v podmeniju za zagon makra.

Ta koda bo oblikovala datum " 11-01-22 " v " torek-januar-2022 ".

To obliko datuma lahko pretvorite tudi v številne druge oblike. Za pretvorbo datuma v želeno obliko sledite spodnji kodi.

 Sub FormatDate() 'Izvirni datum je "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'To bo formatiralo datum na "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'To bo formatiralo datum na "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'To bo formatiralo datum na "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" 'To bo formatiralo datum na"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmm-yyy" "To bo formatiralo datum na "11-Januar-2022" Range("C10").NumberFormat = "dd-mm-yy" "To bo formatiralo datum na "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" "To bo formatiralo datum na "Tue Jan 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" "To bo formatiralo datum na "Tuesday January 2022" End Sub 

Pregled

Preberite več: Funkcije Zdaj in Oblika v Excelu VBA

2. Vgradnja VBA za pretvorbo datuma s funkcijo FORMAT

Excel ima svojo serijsko številko za posamezne datume. Če želite izvedeti serijsko številko katerega koli

določen datum, morate zaprositi za funkcija DATEVALUE .

Recimo, da želite izvedeti serijsko številko datuma " 11. januar 2022 ", potem morate formulo zapisati kot,

=DATEVALUE("11 januar 2022")

Excel vam bo dal serijsko številko 44572 tega datuma.

Zdaj bomo to število pretvorili v ustrezno obliko datuma.

Koraki:

  • Na enak način kot prej odprite Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub Format_Date() Dim iDate As Variant iDate = 44572 "Excelova serijska številka datuma "11 January 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub 

Vaša koda je zdaj pripravljena za zagon.

Dobili boste datum " 11. januar 2022 " v polju za sporočila.

Preberite več: Kako uporabljati funkcijo VBA DateValue v Excelu

Podobna branja

  • Kako vstaviti trenutni datum v Excel (3 načini)
  • Spremenljivka datuma v kodah VBA (7 uporab makrov s primeri)
  • Pridobivanje trenutnega datuma v programu VBA (3 načini)
  • Kako uporabljati bližnjico za datum v Excelu

3. VBA za preoblikovanje datuma na podlagi določenega dela v Excelu

Če želite oblikovati določen del datuma, na primer samo dan/mesec/leto, napišite kodo, kot je,

 Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'To bo formatiralo datum v "januar" End Sub 

Vaša koda je zdaj pripravljena za zagon.

" mmmm " v tej kodi pomeni dolgo obliko imena meseca.

Ker je datum " 11. januar 2022 ", zato bo ta del kode vrnil " Januar ".

To kodo lahko uporabite za formatiranje in izločanje določenega dela datuma, ki ga želite.

 Sub FormatDateValue() 'Izvirni datum je "11-01-22" Range("C5").NumberFormat = "dd" 'To bo formatiralo datum na "11" Range("C6").NumberFormat = "ddd" 'To bo formatiralo datum na "Tue" Range("C7").NumberFormat = "dddd" 'To bo formatiralo datum na "Tuesday" Range("C8").NumberFormat = "m" 'To bo formatiralo datum na "1" Range("C9").NumberFormat = "mm" 'To boformatirati datum na "01" Range("C10").NumberFormat = "mmm" "To bo formatiralo datum na "Jan" Range("C11").NumberFormat = "yy" "To bo formatiralo datum na "22" Range("C12").NumberFormat = "yyyy" "To bo formatiralo datum na "2022" Range("C13").NumberFormat = "dd-mm" "To bo formatiralo datum na "11-01" Range("C14").NumberFormat = "mm-yyy" "To bo formatiralo datumdatum na "01-2022" Range("C15").NumberFormat = "mmm-yyy" "To bo formatiralo datum na "Jan-2022" Range("C16").NumberFormat = "dd-yy" "To bo formatiralo datum na "11-22" Range("C17").NumberFormat = "ddd yyyy" "To bo formatiralo datum na "Tue 2022" Range("C18").NumberFormat = "dddd-yyyy" "To bo formatiralo datum na "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm"'To bo formatiralo datum na "11-Jan" Range("C20").NumberFormat = "dddd-mmmm" 'To bo formatiralo datum na "Torek-Januar" End Sub 

Pregled

4. Vstavite VBA za oblikovanje datuma v določenem delovnem listu v Excelu

Če želite datum oblikovati na podlagi določenega delovnega lista, morate v kodi najprej nastaviti ime delovnega lista, nato pa datum oblikovati v skladu z želeno vrsto.

  • Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
  • V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
 Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Primer") "Nastavite delovni list z imenom "Primer" iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub 

Vaša koda je zdaj pripravljena za zagon.

Oglejte si tretjo vrstico kode, v kateri najprej nastavimo " Primer " delovnega lista nato oblikujte datum tega določenega lista Excel.

Zaključek

V tem članku je bilo prikazano, kako formatirati datum v Excelu z VBA Upam, da vam je ta članek zelo koristil. Če imate kakršna koli vprašanja v zvezi s to temo, vas prosim, da jih postavite.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.