A dátum formázása VBA-val az Excelben (4 módszer)

  • Ossza Meg Ezt
Hugh West

A honlap megvalósítása VBA makró a leghatékonyabb, leggyorsabb és legbiztonságosabb módszer bármilyen művelet futtatására az Excelben. Ebben a cikkben megmutatjuk, hogyan lehet a dátumot az Excelben formázni az alábbi eszközökkel VBA .

Munkafüzet letöltése

Az ingyenes gyakorló Excel munkafüzetet innen töltheti le.

Dátum formázása VBA.xlsm segítségével

4 módszer a dátum formázására Excelben a VBA-val

Nézzük meg a következő példát. Ugyanazokat a dátumokat tároltuk el mindkét B oszlop és C hogy amikor a dátumot formázzuk a C oszlop , akkor tudni fogja a B oszlop milyen formátumban volt korábban a dátum.

1. VBA a dátum egyik típusból a másikba történő formázásához Excelben

Először is tudnunk kell, hogyan kell a dátumot formázni a C5 sejt a mi adott adathalmazunkban VBA a " kedd-január-2022 ".

Lépések:

  • Sajtó Alt + F11 a billentyűzeten, vagy lépjen a Fejlesztő -> Visual Basic kinyitni Visual Basic szerkesztő .

  • A felugró kódablakban a menüsorban kattintson a Beszúrás -> Modul .

  • Másolja ki az alábbi kódot, és illessze be a kódablakba.
 Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmmmm-yyyyyy" 'Ez a dátumot "kedd-január-2022"-re formázza End Sub 

A kódja most már futtatásra kész.

  • Sajtó F5 a billentyűzeten, vagy válassza a menüsorból a Futtatás -> Sub/UserForm futtatása . Egyszerűen rákattinthat a kis Play ikon az almenüsorban a makró futtatásához.

Ez a kód a dátumot " 11-01-22 " a " kedd-január-2022 ".

Ezt a dátumformátumot számos más formátumra is átkonvertálhatja. Csak kövesse az alábbi kódot, hogy a dátumot a kívánt formátumra alakítsa át.

 Sub FormatDate() 'Az eredeti dátum "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'Ez a dátumot "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'Ez a dátumot "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'Ez a dátumot "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" 'Ez a dátumot "Tuesday-11-2022"-re formázza."11-Jan-2022" Range("C9").NumberFormat = "dd-mmmmmm-yyy" 'Ez a dátumot "11-Január-2022" Range("C10").NumberFormat = "dd-mmmm-yyy" 'Ez a dátumot "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" 'Ez a dátumot "Tue Jan 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" 'Ez a dátumot "Tuesday January 2022" End Sub 

Áttekintés

Bővebben: Most és formátumfüggvények az Excel VBA-ban

2. Beágyazott VBA a dátum FORMAT funkcióval történő konvertálásához

Az Excelnek saját sorszáma van az egyes dátumok tekintetében. Ha meg szeretné tudni bármelyik dátum sorszámát

meghatározott időpontban kell jelentkeznie a DATEVALUE függvény .

Tegyük fel, hogy szeretné tudni a dátum sorszámát " január 11. 2022 ", akkor a képletet a következőképpen kell leírni,

=DATEVALUE("2022. január 11.")

Az Excel megadja a sorozatszámot 44572 ettől az időponttól kezdve.

Most átalakítjuk ezt a számot a megfelelő dátumformátumba.

Lépések:

  • Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub Format_Date() Dim iDate As Variant iDate = 44572 'A dátum Excel sorszáma "11 January 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub 

A kódod most már futtatásra kész.

Megkapja a dátumot " január 11. 2022 " az üzenőmezőben.

További információ: Hogyan használjuk a VBA DateValue funkciót az Excelben?

Hasonló olvasmányok

  • Az aktuális dátum beillesztése az Excelben (3 mód)
  • Dátumváltozó a VBA kódokban (7 makrók használata példákkal)
  • Az aktuális dátum lekérdezése VBA-ban (3 mód)
  • Hogyan használjuk az Excel dátum parancsikonját

3. VBA a dátum átalakítása egy adott rész alapján az Excelben

Tegyük fel, hogy a dátum egy adott részét szeretnénk formázni, például csak a nap/hónap/év, akkor írjuk a kódot a következőképpen,

 Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Ez a dátumot "januárra" formázza End Sub 

A kódja most már futtatásra kész.

A " mmmm " ebben a kódban a hónap nevének hosszú formáját jelenti.

Mivel a dátum " január 11. 2022 ", így ez a kódrészlet a " Január ".

Ezt a kódot alkalmazhatja a dátum bármely kívánt részének formázására és kivonására.

 Sub FormatDateValue() 'Az eredeti dátum "11-01-22" Range("C5").NumberFormat = "dd" 'Ez a dátumot "11"-re formázza Range("C6").NumberFormat = "ddd" 'Ez a dátumot "Tue"-re formázza Range("C7").NumberFormat = "dddd" 'Ez a dátumot "Tuesday"-re formázza Range("C8").NumberFormat = "m" 'Ez a dátumot "1"-re formázza Range("C9").NumberFormat = "mm" 'Ez a dátumot "1"-re formázza.A dátumot "01"-re formázza Range("C10").NumberFormat = "mmm" 'Ez a dátumot "Jan"-ra formázza Range("C11").NumberFormat = "yy" 'Ez a dátumot "22"-re formázza Range("C12").NumberFormat = "yyyy" 'Ez a dátumot "2022"-re formázza Range("C13").NumberFormat = "dd-mm" 'Ez a dátumot "11-01"-re formázza Range("C14").NumberFormat = "mm-yyy" 'Ez a dátumot "2022"-re formázza Range("C14").NumberFormat = "mm-yyy" 'Ez a dátumot "01-01"-re formázza Range("C13").NumberFormat = "dd-mm" 'Ez a dátumot "01-01"-re formázzadátumot "01-2022"-re Range("C15").NumberFormat = "mmm-yyy" 'Ez a dátumot "Jan-2022"-re formázza Range("C16").NumberFormat = "dd-yyy" 'Ez a dátumot "11-22"-re formázza Range("C17").NumberFormat = "ddd yyyy" 'Ez a dátumot "Tue 2022"-re formázza Range("C18").NumberFormat = "dddd-yyyy" 'Ez a dátumot "Tuesday-2022"-re formázza Range("C19").NumberFormat = "dd-mmm"'Ez a dátumot "11-Jan"-ra formázza Range("C20").NumberFormat = "dddd-mmmm" 'Ez a dátumot "kedd-január"-ra formázza End Sub 

Áttekintés

4. VBA beillesztése a dátum formázásához egy adott Excel-munkalapban lévő adott munkalapon

Ha egy adott munkalap alapján szeretne dátumot formázni, akkor először a kódban meg kell adnia a munkalap nevét, majd a dátumot a kívánt típusnak megfelelően kell formáznia.

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Example") 'A "Example" nevű munkalap beállítása iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub 

A kódja most már futtatásra kész.

Nézzük meg a kód 3. sorát, ahol először beállítjuk a " Példa " munkalapot, majd formázza az adott Excel lap dátumát.

Következtetés

Ez a cikk megmutatta, hogyan lehet a dátumot az Excelben a következővel formázni VBA . remélem, hogy ez a cikk nagyon hasznos volt számodra. Nyugodtan kérdezz, ha bármilyen kérdésed van a témával kapcsolatban.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.