VBA-muotoinen päivämäärä | Kuinka muuttaa päivämäärämuotoa VBA-koodissa?

Excel VBA -muodon päivämäärä

Ja muotoilla päivämäärä VBA käytämme sisäänrakennettu FORMAT toiminnon itse, se vie kirjoitetaan päivämäärän muoto ja palaa halutun edellyttämässä muodossa, väitteet tarpeen tätä toimintoa varten ilmentävät itse ja muoto tyyppi.

Päivämäärän ja ajan muotoilu on arkaluontoista asiaa Excelissä, ja sama koskee myös VBA: ta. Oletuspäivä ja -aika perustuvat työskentelyjärjestelmämme päivämäärään, joka voi vaihdella järjestelmittäin. Tässä artikkelissa näytämme sinulle erilaisia ​​tekniikoita päivämäärien muotoilemiseksi VBA-koodeilla.

Jos haluat muuttaa päivämäärämuotoa VBA-koodauksella, meidän on oltava tietoisia päivämäärämuodoista ja sen vaikutuksesta päivämäärään.

Alla olevassa taulukossa on esitetty päivämäärän muotoilu ja niiden koodit.

Joten, jos pidät mielessä yllä olevan kaavion muotoilun päivämäärä VBA-koodauksella, ei ole ollenkaan vaikea tehtävä.

Kuinka muuttaa päivämäärämuotoa VBA: ssa?

Alla on esimerkkejä Excelin VBA-päivämäärämuodosta.

Voit ladata tämän VBA-muotoisen päivämäärän Excel-mallin täältä - VBA-muotoisen päivämäärän Excel-malli

Esimerkki 1

Esimerkiksi laskentataulukon useissa soluissa on sama päivämäärä kuin alla.

Nyt käytämme eri päivämäärämuotoja samalle päivämäärälle nähdäksesi vaikutukset eri päivämäärämuodon koodeissa.

Kopioi ensin samat tiedot myös seuraavaan sarakkeeseen, jotta näet vaikutuksen.

Ensimmäisen päivämäärän eli solun A1 osalta käytetään muotoa "PP-KK-VVVV" .

Koodissa on ensin valittava solu käyttämällä RANGE- objektia.

Koodi:

 Alapäivä_muoto_esimerkki1 () Alue ("A1") Loppu ala 

Koska muutamme solun päivämäärämuotoa, meidän on käytettävä RANGE-objektin " Number Format " -ominaisuutta.

Koodi:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub 

Kun olet käyttänyt numeromuotoa, meidän on asetettava numeromuoto asettamalla yhtäläisyysmerkki ja käytettävä muotoilukoodia lainausmerkeissä.

Koodi:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'Tämä merkitsee päivämäärän arvoon "23-10-2019" End Sub 

Kun suoritamme tämän koodin, se käyttää numeromuotoa soluun A1 muodossa " PP-KK-VVV ".

Tuotos:

Esimerkki 2

Vastaavasti olen soveltanut erilaisia ​​muotoilukoodeja myös muihin soluihin, ja alla on sinulle VBA-koodi.

Koodi:

Alapäivä_muoto_esimerkki2 () Alue ("A1"). LukuFormat = "pp-kk-vvv" "Tämä muuttaa päivämäärän arvoksi" 23-10-2019 "Alue (" A2 "). LukuFormat =" pp-kk-vvv " 'Tämä muuttaa päivämäärän "Ke-10-2019" -alueeksi ("A3"). NumberFormat = "ppp-kk-vvv" "Tämä muuttaa päivämäärän" keskiviikko-10-2019 "-alueen (" A4 "). .NumberFormat = "pp-kk-vvv" "Tämä muuttaa päivämäärän" 23-loka-2019 "alueeksi (" A5 "). NumeroFormat =" pp-kk-vvv "" Tämä muuttaa päivämääräksi "23- Lokakuu-2019 "Alue (" A6 "). NumberFormat =" pp-kk-vv "'Tämä muuttaa päivämäärän arvoksi" 23-10-19 "Alue (" A7 "). NumberFormat =" pp kk vvvv "' Tämä muuttaa päivämääräksi "Ke lokakuu 2019 "Alue (" A8 "). NumberFormat =" ppp pmmmm vvvv "'Tämä muuttaa päivämäärän" keskiviikko lokakuu 2019 "loppuosa

Tämän koodin tulos on seuraava.

Tuotos:

Muuta päivämäärämuotoa FORMAT-toiminnolla

VBA: ssa meillä on funktio nimeltä FORMAT, jota voidaan käyttää halutun muodon käyttämiseen soluun.

Meidän on vain määritettävä, mikä arvo on lausekkeelle, ja sovellettava muotoilua vastaavasti.

Katso esimerkki alla olevasta koodista.

Koodi:

 Sub Date_Format_Example3 () Dim MyVal Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYYY") End Sub 

Edellä olevassa koodissa olen määritellyt muuttujan muunnokseksi (joka voi sisältää minkä tahansa arvon).

Koodi:

 Hämärtää MyVal-vaihtoehtoa 

Seuraavaksi tälle muuttujalle olen määrittänyt arvon 43586.

Koodi:

MyVal = 43586

Seuraavaksi viestikentässä olen osoittanut muuttujan tuloksen, mutta ennen tuloksen näyttämistä olemme käyttäneet " FORMAT " -toimintoa muotoilemaan muuttujan " MyVal " arvon ja muoto on annettu " DD-MM- VVVV ”.

Koodi:

MsgBox-muoto (MyVal, "PP-KK-VVV")

Ok, ajetaan koodi ja näemme tulos VBA: n viestiruudussa.

Tuotos:

Kuten yllä voit nähdä, tulos näkyy muodossa " 01-05-2019 ".

Nyt sinun täytyy ihmetellä, että olemme toimittaneet sarjanumeron, mutta tulos näkyy päivämääränä. Tämä johtuu siitä, että Excel tallentaa päivämäärän sarjanumeroina, joten arvo 43586 on yhtä suuri kuin päivämäärä “01-05-2019”, ja jos kasvatat numeroa 1 eli 43587, päivämäärä on “02.05.2019”.

Koodi:

 Sub Date_Format_Example3 () Dim MyVal Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") End Sub 

Muistettavaa

  • Järjestelmän oletuspäivää sovelletaan myös Exceliin.
  • Numeromuoto-ominaisuutta voidaan käyttää päivämäärän muodon muuttamiseen VBA: ssa.
  • FORMAT-toiminnon avulla voimme muuttaa päivämäärän muotoa.
  • Excel tallentaa päivämäärän sarjanumeroina, ja jos käytät päivämäärämuotoa, se näkyy vastaavasti.

$config[zx-auto] not found$config[zx-overlay] not found