Tartalomjegyzék
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.