Ši pamoka parodys, kaip naudoti teksto funkciją VBA.
Funkcija Tekstas naudojama „Excel“ darbalapyje, kad būtų grąžinta tam tikro formato eilutės dalis. Funkcija Tekstas nėra VBA funkcija, tačiau ją galima naudoti VBA, nurodant darbalapio funkcijos objektą.
WorksheetFunction.Text
Todėl VBA sintaksė būtų tokia:
= WorksheetFunction.Text (Arg1, Arg2)
kur Arg1 yra pradinė eilutė, o Arg2 - norimos grąžinti eilutės formatas.
1234567 | Antrasis testasWSFunction ()Dim dte kaip eilutėPritemdyti kaip eilutędte = "2021 08 08"strD = WorksheetFunction.Text (dte, "mmmm")„MsgBox strD“Pabaiga Sub |
Pirmiau pateiktame pavyzdyje eilutės kintamasis dte saugo datą. Tada funkcija Tekstas grąžina mėnesio datos dalį.
Skaičių formatavimas naudojant teksto funkciją
Mes galime naudoti teksto funkciją, norėdami formatuoti skaičius mūsų VBA kode.
1234567 | SubformatasCurrency ()Dim strNum As StringDim strFormat kaip eilutėstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")„MsgBox strFormat“Pabaiga Sub |
Pirmiau pateiktame pavyzdyje grąžinta eilutė būtų 75 896,13 USD.
Kiti skaičių formato pavyzdžiai naudojant teksto funkciją yra šie:
12345678 | = WorksheetFunction.Text (75896.125, "0")tai grįš: "75896"= WorksheetFunction.Text (75896.125, "0.0")tai grįš: "75896.1"= WorksheetFunction.Text (75896.125, "#, ## 0")tai grįš: "75,896" |
Tačiau „Excel“ turi įmontuotą VBA funkciją, kurią galime naudoti vietoj teksto funkcijos, jei norime formatuoti datas ir skaičius VBA. Tai vadinama formato funkcija.
VBA formato funkcija
Atsižvelgdami į aukščiau pateiktą pavyzdį, o ne naudodami „WorksheetFunction“. Tekste mes galime tiesiog naudoti funkciją „Formatas“, kad pasiektume tuos pačius rezultatus.
12345678 | = Formatas (75896.125, "0")tai grįš: "75896"= Formatas (75896.125, "0.0")tai grįš: "75896.1"= Formatas (75896.125, "#, ## 0")tai grįš: "75,896" |
Panašiai mes galime naudoti funkciją Formatas, kad suformatuotume eilutės datos dalis.
1234567 | Sub TestFormatFunction ()Dim dte kaip eilutėPritemdyti kaip eilutędte = "2021 08 08"strD = formatas (dte, "mmmm")„MsgBox strD“Pabaiga Sub |