Päivämäärän muotoilu VBA: lla Excelissä (4 menetelmää)

  • Jaa Tämä
Hugh West

Käyttöönotto VBA-makro on tehokkain, nopein ja turvallisin tapa suorittaa mikä tahansa toiminto Excelissä. Tässä artikkelissa näytämme, miten muotoilet päivämäärän Excelissä käyttämällä VBA .

Lataa työkirja

Voit ladata ilmaisen harjoitus-Excel-työkirjan täältä.

Muotoile päivämäärä VBA.xlsm:llä

4 tapaa muotoilla päivämäärä Excelissä VBA: lla

Katso seuraavaa esimerkkiä. Tallensimme samat päivämäärät molempiin päivämääriin. Sarake B ja C jotta kun muotoilemme päivämäärän Sarake C , tiedätte siitä, että B-pylväs missä muodossa päivämäärä oli ennen.

1. VBA päivämäärän muotoileminen yhdestä tyypistä toiseen Excelissä

Ensin tiedetään, miten muotoilla päivämäärä alkaen. Solu C5 annetussa tietokokonaisuudessamme, jossa VBA to " tiistai-tammikuu-2022 ".

Vaiheet:

  • Paina Alt + F11 näppäimistöllä tai siirry välilehdelle Kehittäjä -> Visual Basic avata Visual Basic Editor .

  • Valitse ponnahdusikkunan valikkoriviltä seuraava vaihtoehto Lisää -> Moduuli .

  • Kopioi seuraava koodi ja liitä se koodiikkunaan.
 Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmmmm-yyyyyy" 'Tämä muotoilee päivämäärän muotoon "tiistai-tammikuu-2022" End Sub 

Koodisi on nyt valmis ajettavaksi.

  • Paina F5 näppäimistöllä tai valitse valikkoriviltä Suorita -> Suorita Sub/UserForm . Voit myös vain klikata pieni Play-kuvake alivalikkopalkissa makron suorittamiseksi.

Tämä koodi muotoilee päivämäärän " 11-01-22 " - " tiistai-tammikuu-2022 ".

Voit myös muuntaa tämän päivämäärämuodon moniin muihin muotoihin. Seuraa vain alla olevaa koodia, jotta voit muuntaa päivämäärän haluamaasi muotoon.

 Sub FormatDate() 'Alkuperäinen päivämäärä on "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'Tämä muotoilee päivämäärän muotoon "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'Tämä muotoilee päivämäärän muotoon "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'Tämä muotoilee päivämäärän muotoon "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" "Tämä muotoilee päivämäärän muotoon"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmm-yyy" 'Tämä muotoilee päivämäärän muotoon "11-Tammikuu-2022" Range("C10").NumberFormat = "dd-mm-yyy" 'Tämä muotoilee päivämäärän muotoon "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" 'Tämä muotoilee päivämäärän muotoon "Ti-Tammikuu 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" 'Tämä muotoilee päivämäärän muotoon "Tiistai tammikuu 2022" End Sub 

Yleiskatsaus

Lue lisää: Nyt ja muotoilutoiminnot Excel VBA:ssa

2. Upota VBA päivämäärän muuntamiseen FORMAT-funktiolla

Excelillä on oma sarjanumeronsa yksittäisten päivämäärien osalta. Jos haluat tietää minkä tahansa sarjanumeron

tiettyyn päivämäärään mennessä, sinun on haettava DATEVALUE-funktio .

Oletetaan, että haluat tietää päivämäärän sarjanumeron " 11. tammikuuta 2022 ", sinun on kirjoitettava kaava seuraavasti,

=DATEVALUE("11. tammikuuta 2022")

Excel antaa sinulle sarjanumeron 44572 tästä päivästä alkaen.

Nyt muutamme tämän numeron asiaankuuluvaan päivämäärämuotoon.

Vaiheet:

  • Samalla tavalla kuin ennenkin, avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub Format_Date() Dim iDate As Variant iDate = 44572 'Päivämäärän Excel-sarjanumero "11 January 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub 

Koodisi on nyt valmis ajettavaksi.

Saat päivämäärän " 11. tammikuuta 2022 " viestikenttään.

Lue lisää: VBA DateValue -toiminnon käyttö Excelissä

Samanlaisia lukemia

  • Nykyisen päivämäärän lisääminen Exceliin (3 tapaa)
  • Päivämäärämuuttuja VBA-koodeissa (7 makrojen käyttöä esimerkkeineen)
  • Nykyisen päivämäärän hakeminen VBA:ssa (3 tapaa)
  • Excel-päivämäärän pikakuvakkeen käyttäminen

3. VBA päivämäärän muuntaminen tietyn osan perusteella Excelissä

Oletetaan, että haluat muotoilla tietyn osan päivämäärästä, esimerkiksi vain päivän/kuukauden/vuoden, niin kirjoita koodi seuraavasti,

 Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Tämä muotoilee päivämäärän muotoon "tammikuu" End Sub 

Koodisi on nyt valmis ajettavaksi.

" mmmm " tässä koodissa tarkoittaa kuukauden nimen pitkää muotoa.

Koska päivämäärä on " 11. tammikuuta 2022 ", joten tämä koodinpätkä palauttaa " Tammikuu ".

Voit käyttää tätä koodia muotoillaksesi ja poimiaksesi haluamasi osan päivämäärästä.

 Sub FormatDateValue() 'Alkuperäinen päivämäärä on "11-01-22" Range("C5").NumberFormat = "dd" 'Tämä muotoilee päivämäärän muotoon "11" Range("C6").NumberFormat = "ddd" 'Tämä muotoilee päivämäärän muotoon "Tue" Range("C7").NumberFormat = "dddd" 'Tämä muotoilee päivämäärän muotoon "Tuesday" Range("C8").NumberFormat = "m" 'Tämä muotoilee päivämäärän muotoon "1" Range("C9").NumberFormat = "mm" 'Tämä muotoilee päivämäärän muotoon "1".muotoilee päivämäärän muotoon "01" Range("C10").NumberFormat = "mmm" 'Tämä muotoilee päivämäärän muotoon "Jan" Range("C11").NumberFormat = "yy" 'Tämä muotoilee päivämäärän muotoon "22" Range("C12").NumberFormat = "yyyy" 'Tämä muotoilee päivämäärän muotoon "2022" Range("C13").NumberFormat = "dd-mm" 'Tämä muotoilee päivämäärän muotoon "11-01" Range("C14").NumberFormat = "mm-yyy" 'Tämä muotoilee päivämäärästä "2022".päivämäärän muotoon "01-2022" Range("C15").NumberFormat = "mmm-yyy" 'Tämä muotoilee päivämäärän muotoon "Jan-2022" Range("C16").NumberFormat = "dd-yyy" 'Tämä muotoilee päivämäärän muotoon "11-22" Range("C17").NumberFormat = "ddd yyyy" 'Tämä muotoilee päivämäärän muotoon "Tue 2022" Range("C18").NumberFormat = "dddd-yyyyy" 'Tämä muotoilee päivämäärän muotoon "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm"'Tämä muotoilee päivämäärän muotoon "11-Jan" Range("C20").NumberFormat = "dddd-mmmm" 'Tämä muotoilee päivämäärän muotoon "Tuesday-January" End Sub 

Yleiskatsaus

4. VBA:n lisääminen päivämäärän muotoilemiseksi tietyssä Excel-taulukossa Excelissä

Jos haluat muotoilla päivämäärän tietyn laskentataulukon perusteella, sinun on ensin määritettävä koodissa laskentataulukon nimi ja muotoiltava sitten päivämäärä haluamasi tyypin mukaan.

  • Avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Esimerkki") 'Aseta työarkki nimeltä "Esimerkki" iSheet.Range("C5").NumberFormat = "pp.kk.vvvvv, kk.vvvvv, vvvvv" End Sub 

Koodisi on nyt valmis ajettavaksi.

Katso koodin 3. riviä, jossa ensin asetetaan " Esimerkki " -taulukkoon ja muotoile sitten kyseisen Excel-arkin päivämäärä.

Päätelmä

Tässä artikkelissa näytettiin, miten päivämäärän muotoilu Excelissä tapahtuu VBA Toivottavasti tästä artikkelista on ollut teille paljon hyötyä. Kysykää rohkeasti, jos teillä on aiheeseen liittyviä kysymyksiä.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.