See õpetus näitab, kuidas tekstifunktsiooni VBA -s kasutada.
Funktsiooni Tekst kasutatakse Exceli töölehel stringi osa tagastamiseks määratud vormingus. Funktsioon Tekst ei ole VBA -funktsioon, kuid seda saab kasutada VBA -s, viidates töölehe funktsiooni objektile.
TöölehtFunktsioon.Tekst
Seetõttu oleks VBA süntaks järgmine:
= WorksheetFunction.Text (Arg1, Arg2)
kus Arg1 on algne string ja Arg2 on stringi formaat, mille tahame tagastada.
1234567 | AlamkatseWSFunction ()Dim dte nagu stringHämarda stringinadte = "08.05.2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDEnd Sub |
Ülaltoodud näites salvestab string muutuja dte kuupäeva. Funktsioon Tekst tagastab seejärel kuupäeva kuuosa.
Numbrite vormindamine tekstifunktsiooniga
Saame kasutada tekstifunktsiooni numbrite vormindamiseks meie VBA -koodis.
1234567 | AlamvormingCurrency ()Dim strNum kui stringDim strFormat kui stringstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")MsgBox strFormatEnd Sub |
Ülaltoodud näites tagastatud string oleks 75 896,13 dollarit.
Teised numbrivormingu näited tekstifunktsiooni abil on järgmised:
12345678 | = WorksheetFunction.Text (75896.125, "0")see tuleb tagasi: "75896"= WorksheetFunction.Text (75896.125, "0.0")see tuleb tagasi: "75896,1"= WorksheetFunction.Text (75896.125, "#, ## 0")see tuleb tagasi: "75,896" |
Excelil on aga sisseehitatud VBA -funktsioon, mida saame kasutada funktsiooni Text asemel, kui soovime VBA -s kuupäevi ja numbreid vormindada. Seda funktsiooni nimetatakse vormindamiseks.
VBA vormingu funktsioon
Võttes ülaltoodud näite, selle asemel, et kasutada WorksheetFunction. Teksti, saame samade tulemuste saavutamiseks kasutada lihtsalt vormingu funktsiooni.
12345678 | = Vorming (75896.125, "0")see tuleb tagasi: "75896"= Vorming (75896.125, "0.0")see tuleb tagasi: "75896,1"= Vorming (75896.125, "#, ## 0")see tuleb tagasi: "75,896" |
Sarnaselt võime kasutada funktsiooni Vormindus stringi kuupäevaosade vormindamiseks.
1234567 | Sub TestFormatFunction ()Dim dte nagu stringHämarda stringinadte = "08.05.2021"strD = vorming (dte, "mmmm")MsgBox strDEnd Sub |