VBA tekst - Kako koristiti funkciju teksta u VBA Excelu? (s primjerima)

Tekst je funkcija radnog lista u Excelu, ali može se koristiti i u VBA-u dok se s njim koristi svojstvo raspona, funkcija ove funkcije slična je funkciji radnog lista i uzima isti broj argumenata koji su vrijednosti koje treba biti pretvoren i određeni format broja.

Excel VBA tekstualna funkcija

TEXT je funkcija dostupna s radnim listom, ali nažalost, to nije ugrađena funkcija u programu Excel VBA. Da bismo pristupili ovoj funkciji, moramo koristiti objekt klase funkcije radnog lista u VBA. Funkcija teksta u Excelu pretvara vrijednost u zadani format broja.

Jedan od problema s ovom funkcijom kao argumentima. Kad god koristimo klasu funkcije VBA radnog lista, ne možemo vidjeti jasnu sintaksu slično kao u našem radnom listu. Samo piše "Arg1" i "Arg2".

  • Arg1 je vrijednost na koju trebamo primijeniti oblikovanje.
  • Arg2 je oblikovanje koje trebamo primijeniti, a mi moramo navesti kod za oblikovanje.

Primjeri VBA funkcije teksta u Excelu

Ispod su primjeri funkcije Excel VBA Text Function.

Primjer # 1

Dopustite mi da vam pokažem jednostavan primjer TEKSTA u VBA Excelu. Pogledajte donji kod u Visual Basicu.

Kodirati:

Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0,564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult Kraj Sub

Prvo sam u VBA proglasio dvije varijable kao niz.

Prigušeno oblikovanjeVrijednost kao niz Prigušeno oblikovanjeRezultat kao niz

Za prvu varijablu dodijelio sam broj za formatiranje koji moramo oblikovati.

FormattingValue = 0,564

Sada sam za drugu varijablu dodijelio funkciju TEXT.

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

Ako primijetite, primijenio sam oblikovanje vremena, tj. "Hh: mm: ss AM / PM."

Tada sam napokon primijenio VBA okvir za poruku kako bih prikazao rezultat.

Rezultat oblikovanja MsgBox-a

Kada pokrenem funkciju TEXT koda, primijenit će format vremena na broj 0.564 i prikazati rezultat kao u nastavku.

Dakle, vrijeme imamo kao " 13:32:10 PM ".

Primjer # 2

Slično primjeru formata datuma, i u ovom smo primjeru napravili neke manje promjene. Ispod je kod.

Kodirati:

Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult Kraj Sub

Iz prethodnog koda promijenio sam vrijednost formatiranja s 0,565 na 43585 i promijenio stil oblikovanja kao "DD-MMM-GGGG".

Ovo će primijeniti oblikovanje na broj 43585 kao datum, a rezultat je sljedeći.

Primijeni oblikovanje na ćelije

Vidjeli smo jednostavne primjere. Sada pogledajte kako raditi sa stanicama na radnom listu. Za ovaj primjer pogledajte podatke u nastavku.

Za sve ove brojeve moramo primijeniti format vremena. Ovaj kôd primijenit će oblikovanje.

Kodirati:

Sub Text_Example3 () Dim k kao cijelo za k = 1 do 10 ćelija (k, 2) .Vrijednost = Funkcija radnog lista.Tekst (Ćelije (k, 1) .Vrijednost, "hh: mm: ss AM / PM") Sljedeći k Kraj Pod

Ovaj će kôd petljati kroz 10 ćelija i primijeniti dolje oblikovanje.

Ovako, pomoću funkcije VBA TEXT, možemo primijeniti oblikovanje brojeva na ćelije.

Zanimljivi članci...