VBA formátum dátuma Hogyan lehet megváltoztatni a VBA kód dátumformátumát?

Tartalomjegyzék

Excel VBA formátum dátum

A VBA formátumú dátum formázásához magát a beépített FORMAT függvényt használjuk, a bevitelt dátumformátumként veszi fel, és a kívánt formátumot adja vissza, ehhez a függvényhez szükséges argumentumok maguk a kifejezések és a formátum típusai.

A dátum és az idő formázása kényes dolog az excelben, és ugyanez vonatkozott a VBA-ra is. Az alapértelmezett dátum és idő azon a rendszer dátumán alapul, amelyen dolgozunk, amely rendszerenként változhat. Ebben a cikkben különböző technikákat mutatunk be a dátumok VBA kódokkal történő formázására.

A dátumformátum VBA kódolással történő megváltoztatásához tisztában kell lennünk a dátumformátumokkal és annak a dátumra gyakorolt ​​hatásával.

Az alábbi táblázat bemutatja a különböző dátumformátumokat és kódjaikat.

Tehát, ha szem előtt tartja a fenti diagramot, a dátum VBA kódolással történő formázása egyáltalán nem nehéz feladat.

Hogyan lehet megváltoztatni a VBA dátumformátumát?

Az alábbiakban bemutatjuk az excel VBA dátumformátum példáit.

1. példa

Például ugyanaz a dátum van a munkalap több cellájában, az alábbiak szerint.

Most különböző dátumformátumokat alkalmazunk ugyanarra a dátumra, hogy lássuk a különböző dátumformátum-kódok hatását.

Először másolja ugyanazokat az adatokat a következő oszlopba is, hogy lássa a hatást.

Az első dátumra, azaz az A1 cellára a „NN-HH-ÉÉÉÉ” formátumot alkalmazzuk.

A kódban először ki kell választanunk a cellát a RANGE objektum használatával.

Kód:

Sub Date_Format_Példa1 () Tartomány ("A1") Vége Sub

Mivel megváltoztatjuk a cella dátumformátumát, hozzáférnünk kell a RANGE objektum „ Számformátum ” tulajdonságához.

Kód:

Sub Date_Format_Példa1 () tartomány ("A1"). NumberFormat End Sub

Elérése után „ Number Format, ” meg kell állítani a szám formátum azáltal egyenlőségjel és formátumot alkalmazzák a kódot idézőjelek.

Kód:

Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'Ez a dátumot "2019-10-23-ig" zárja.

Amikor végrehajtjuk ezt a kódot, a számformátumot az A1 cellára „ NN-HH-ÉÉÉ” néven alkalmazza.

Kimenet:

2. példa

Hasonlóképpen más formázási kódokat is alkalmaztam más cellákhoz is, az alábbiakban pedig a VBA kódot találom.

Kód:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'Ez megváltoztatja a dátumot "2019-10-23" tartományra ("A2"). NumberFormat = "ddd-mm-yyy" 'Ez megváltoztatja a dátumot "Wed-10-2019" tartományra ("A3"). NumberFormat = "dddd-mm-yyy"' Ez a dátumot "szerda-10-2019" tartományra ("A4") változtatja. .NumberFormat = "dd-mmm-yyy" 'Ez megváltoztatja a dátumot "2019. október 23." tartományra ("A5"). NumberFormat = "dd-mmmm-yyy"' Ez a dátumot "23- 2019. október "Tartomány (" A6 "). NumberFormat =" dd-mm-yy "'Ez megváltoztatja a dátumot" 23-10-19 "tartományra (" A7 "). NumberFormat =" ddd mmm yyyy "' Ez megváltoztatja a dátumot "2019 okt."Tartomány ("A8"). NumberFormat = "dddd mmmm yyyy" 'Ez a dátumot "2019. október szerda" végére módosítja.

Ennek a kódnak az eredménye a következő lesz.

Kimenet:

A dátumformátum módosítása a FORMAT funkció használatával

A VBA-ban van egy FORMAT nevű függvényünk, amellyel a kívánt formátumot alkalmazhatjuk a cellára.

Csak meg kell határoznunk, hogy mi az „Expression” értéke, és ennek megfelelően alkalmazzuk a „Formátum” -t.

Nézze meg az alábbi kódot.

Kód:

Sub Date_Format_Példa3 () Dim MyVal mint variáns MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYYY") End Sub

A fenti kódban a változót variánsként definiáltam (amely bármilyen értéket tartalmazhat).

Kód:

Dim MyVal As Variant

Ennek a változónak a következőjeként az értéket 43586-nak rendeltem.

Kód:

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_Példa3 () Dim MyVal mint variáns MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") End Sub

Dolgok, amikre emlékezni kell

  • A rendszer alapértelmezett dátumát az excelére is alkalmazni fogjuk.
  • A Number Format tulajdonság a VBA dátumformátumának megváltoztatására használható.
  • A FORMÁT függvény segítségével megváltoztathatjuk a dátum formátumát.
  • Az Excel sorozatszámként tárolja a dátumot, és ha dátumformátumot alkalmaz, akkor ennek megfelelően jelenik meg.

érdekes cikkek...