Tämä opetusohjelma osoittaa, miten tekstitoimintoa käytetään VBA: ssa.
Teksti -toimintoa käytetään Excel -laskentataulukossa merkkijonon osan palauttamiseksi määritetyssä muodossa. Teksti -toiminto ei ole VBA -toiminto, mutta sitä voidaan käyttää VBA: ssa viittaamalla laskentataulukkofunktion objektiin.
TyöarkkiToiminto.Teksti
VBA: n syntaksi olisi siis seuraava:
= WorksheetFunction.Text (Arg1, Arg2)
jossa Arg1 on alkuperäinen merkkijono ja Arg2 on palautettavan merkkijonon muoto.
1234567 | AlatestiWSFunction ()Dim dte merkkijononaHimmennä merkkijonodte = "08/05/2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDEnd Sub |
Yllä olevassa esimerkissä merkkijonomuuttuja dte tallentaa päivämäärän. Teksti -funktio palauttaa sitten päivämäärän kuukauden osan.
Numeroiden muotoilu tekstitoiminnolla
Voimme käyttää tekstitoimintoa numeroiden muotoiluun VBA -koodissamme.
1234567 | AlaformaattiCurrency ()Dim strNum merkkijononaDim strFormat merkkijononastrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")MsgBox strFormatEnd Sub |
Yllä olevassa esimerkissä palautettu merkkijono olisi 75 896,13 dollaria.
Muita esimerkkejä numeroiden muotoilusta tekstitoiminnon avulla ovat:
12345678 | = Työsivun toiminto.teksti (75896.125, "0")tämä palaa: "75896"= TyökirjaToiminto.Teksti (75896.125, "0.0")tämä palaa: "75896.1"= WorksheetFunction.Text (75896.125, "#, ## 0")tämä palaa: "75,896" |
Excelissä on kuitenkin sisäänrakennettu VBA -toiminto, jota voimme käyttää tekstitoiminnon sijasta, jos haluamme muotoilla päivämäärät ja numerot VBA: ssa. Tätä kutsutaan Muoto -funktioksi.
VBA -muoto
Ottaen yllä olevan esimerkin sen sijaan, että käyttäisimme WorksheetFunction.Textia, voimme vain käyttää muotoilutoimintoa saavuttaaksemme samat tulokset.
12345678 | = Muoto (75896.125, "0")tämä palaa: "75896"= Muoto (75896.125, "0.0")tämä palaa: "75896.1"= Muoto (75896.125, "#, ## 0")tämä palaa: "75,896" |
Samoin voimme käyttää muotoilutoimintoa merkkijonon päivämääräosien muotoiluun.
1234567 | Sub TestFormatFunction ()Dim dte merkkijononaHimmennä merkkijonodte = "08/05/2021"strD = Muoto (dte, "mmmm")MsgBox strDEnd Sub |