VBA tekstas | Kaip naudoti teksto funkciją „VBA Excel“? (su pavyzdžiais)

Tekstas yra „Excel“ darbalapio funkcija, tačiau jis taip pat gali būti naudojamas VBA, kartu su juo naudojant diapazono ypatybę, šios funkcijos funkcija yra panaši į darbalapio funkciją ir reikalauja tiek pat argumentų, kurie yra reikšmės, kurias reikia nurodyti konvertuotas ir nurodytas skaičiaus formatas.

„Excel VBA“ teksto funkcija

TEXT yra funkcija, kurią galima gauti su darbalapiu, tačiau, deja, tai nėra integruota „Excel VBA“ funkcija. Norėdami pasiekti šią funkciją, VBA turime naudoti darbalapio funkcijų klasės objektą. „Excel“ teksto funkcija konvertuoja reikšmę į nurodytą skaičių formatą.

Viena iš šios funkcijos problemų yra argumentai. Kai mes naudojame VBA darbalapio funkcijų klasę, mes nematome aiškios sintaksės, panašiai kaip mūsų darbalapyje. Tai tiesiog sako „Arg1“ ir „Arg2“.

  • Arg1 yra vertė, kuriai reikia pritaikyti formatavimą.
  • „Arg2“ yra formatas, kurį turime taikyti, ir turime nurodyti formatavimo kodą.

„Excel“ VBA teksto funkcijos pavyzdžiai

Toliau pateikiami „Excel VBA“ teksto funkcijos pavyzdžiai.

Šį „VBA Text Excel“ šabloną galite atsisiųsti čia - „VBA Text Excel“ šablonas

1 pavyzdys

Leiskite man parodyti paprastą TEKSTO pavyzdį „VBA Excel“. Pažvelkite į žemiau pateiktą „Visual Basic“ kodą.

Kodas:

 Papildomas teksto_pavyzdys1 () „Dim FormattingValue“ kaip eilutė „Dim FormattingResult“ kaip eilutė „FormattingValue“ = 0,564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub 

Pirmiausia VBA paskelbiau du kintamuosius kaip eilutę

 „Dim FormattingValue As String“ „Dim FormattingValue“ kaip „String“ 

Pirmajam kintamajam priskyriau formatavimo numerį, kurį turime formatuoti.

„FormattingValue“ = 0,564

Dabar dar vienam kintamajam priskyriau TEXT funkciją.

FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")

Jei pastebėsite, aš pritaikiau laiko formatavimą, ty „hh: mm: ss AM / PM“

Tada galiausiai pritaikiau VBA pranešimų laukelį, kad būtų rodomas rezultatas.

„MsgBox“ formatavimo rezultatas

Kai paleisiu kodą TEKSTAS, skaičius pritaikys laiko formatą skaičiui 0,564 ir parodys rezultatą taip, kaip nurodyta toliau.

Taigi, mes gavome laiką kaip „ 01:32:10 PM “.

2 pavyzdys

Panašiai kaip datos formato pavyzdyje, šiame pavyzdyje atlikome keletą nedidelių pakeitimų. Žemiau yra kodas.

Kodas:

 Antrinis teksto_pavyzdys2 () „Dim FormattingValue“ kaip eilutė „Dim FormattingResult“ kaip eilutė „FormattingValue“ = 43585 „FormattingResult = WorksheetFunction.Text“ („FormattingValue“, „DD-MMM-YYYY“) „MsgBox FormattingResult“ pabaigos pabaiga 

Iš ankstesnio kodo pakeičiau formatavimo vertę iš 0,565 į 43585 ir pakeičiau formatavimo stilių „DD-MMM-YYYY“.

Tai pritaikys numerio 43585 formatavimą kaip datą, o rezultatas bus toks.

Taikykite langeliams formatą

Mes matėme paprastus pavyzdžius, dabar pažiūrėkite, kaip dirbti su langeliais darbalapyje. Šiame pavyzdyje žiūrėkite toliau pateiktus duomenis.

Visiems šiems skaičiams turime pritaikyti laiko formatą. Tam žemiau pateiktas kodas pritaikys formatavimą.

Kodas:

 Antrinis teksto_pavyzdys3 () Dim k kaip sveikoji k = 1–10 langelių (k, 2). Vertė = WorksheetFunction.Text (langeliai (k, 1). Vertė, „hh: mm: ss AM / PM“) Kitas k pabaiga Sub 

Šis kodas perves 10 langelių ir pritaikys formatą taip, kaip nurodyta toliau.

Panašiai, naudodami funkciją VBA TEXT, galime pritaikyti skaičių formatavimą langeliams.