Ez az oktatóanyag bemutatja, hogyan kell használni a szöveges funkciót a VBA -ban.
A Szöveg funkciót egy Excel munkalap használja a karakterlánc egy részének megadott formátumban történő visszaadására. A Szöveg függvény nem VBA függvény, de használható a VBA -ban a Munkalap Funkció objektumra hivatkozva.
WorksheetFunction.Text
A VBA szintaxisa tehát a következő lenne:
= WorksheetFunction.Text (Arg1, Arg2)
ahol Arg1 az eredeti karakterlánc, és Arg2 a visszaadni kívánt karakterlánc formátuma.
1234567 | Rész tesztWSFunction ()Dim dte karakterlánckéntDim strD karakterlánckéntdte = "2021/05/05"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDEnd Sub |
A fenti példában a dte karakterlánc -változó dátumot tárol. A Szöveg függvény ezután visszaadja a dátum havi részét.
Számok formázása a Szöveg funkcióval
A szöveg funkcióval számokat formázhatunk a VBA kódunkban.
1234567 | AlformátumCurrency ()Dim strNum karakterlánckéntDim strFormat karakterlánckéntstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")MsgBox strFormatEnd Sub |
A fenti példában visszaadott karakterlánc 75 896,13 USD lenne.
A szövegfunkciót használó számformázásra további példák a következők:
12345678 | = WorksheetFunction.Text (75896.125, "0")ez visszatér: "75896"= WorksheetFunction.Text (75896.125, "0.0")ez visszatér: "75896.1"= WorksheetFunction.Text (75896.125, "#, ## 0")ez visszatér: "75,896" |
Az Excel azonban rendelkezik beépített VBA függvénnyel, amelyet a szöveg funkció helyett használhatunk, ha dátumokat és számokat szeretnénk formázni a VBA -n belül. Ezt Formátum függvénynek nevezik.
A VBA formátum funkció
A fenti példát figyelembe véve a WorksheetFunction.Text használata helyett csak a Format függvényt használhatjuk ugyanazon eredmények eléréséhez.
12345678 | = Formátum (75896.125, "0")ez visszatér: "75896"= Formátum (75896.125, "0.0")ez visszatér: "75896.1"= Formátum (75896.125, "#, ## 0")ez visszatér: "75,896" |
Hasonlóképpen használhatjuk a Formátum függvényt a karakterlánc dátumrészeinek formázására.
1234567 | Sub TestFormatFunction ()Dim dte karakterlánckéntDim strD karakterlánckéntdte = "2021/05/05"strD = Formátum (dte, "mmmm")MsgBox strDEnd Sub |