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 ovat arkaluontoisia asioita Excelissä, ja sama pätee myös VBA: han. 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 muotoilevan päivämäärän VBA-koodauksen avulla, 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.

Esimerkki 1

Esimerkiksi meillä on sama päivämäärä useissa laskentataulukon soluissa, kuten alla on esitetty.

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 meidän on ensin valittava solu RANGE- objektilla.

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ömerkki 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 arvoksi "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-vv" "Tämä muuttaa päivämäärän arvoksi" 23-10-2019 "Alue (" A2 "). 'Tämä muuttaa päivämäärän arvoksi "ke-10-2019" ("A3"). NumberFormat = "ppp-kk-vvvv" .NumberFormat = "pp-kk-vvv" "Tämä muuttaa päivämäärän" 23-lokakuu-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än "ke loka 2019"Alue ("A8"). NumberFormat = "ppp kk 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

Next, in the message box, I have shown the result of the variable, but before we show the result, we have used the “FORMAT” function to format the value of the variable “MyVal,” and the format is given. “DD-MM-YYYY.”

Code:

MsgBox Format(MyVal, "DD-MM-YYY")

Ok, let’s run the code and see the result in the message box in VBA.

Output:

As you can see above, the result shows as “01-05-2019”.

Now you must be wondering we have supplied the serial number but the result showing as the date. This is because Excel stores the date as serial numbers, so the value 43586 is equal to the date “01-05-2019,” and if you increase the number by 1 i.e., 43587, the date will be “02-05-2019”.

Code:

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.

Mielenkiintoisia artikkeleita...