Sisällysluettelo
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ä.