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, 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 kaip argumentų problemų. 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 mes turime nurodyti formatavimo kodą.

„Excel“ VBA teksto funkcijos pavyzdžiai

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

1 pavyzdys

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

Kodas:

Antrinis teksto_pavyzdys1 () „Dim FormattingValue“ kaip eilutė „Dim FormattingResult“ kaip eilutė „FormattingValue“ = 0,564 „FormattingResult = WorksheetFunction.Text“ („FormattingValue“, „hh: mm: ss AM / PM“) „MsgBox FormattingResult“ pabaigos pabaiga

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į rezultatui parodyti.

„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ų kaip „DD-MMM-YYYY“.

Formatavimas bus taikomas skaičiui 43585 kaip datai, 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 taikyti laiko formatą. Šis 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 žemiau pateiktą formatavimą.

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

Įdomios straipsniai...