VBA tekst - Kako se pomoću primjera koristi tekstna funkcija u Excelu VBA?

Sadržaj:

Anonim

Tekstualna funkcija Excel VBA

Tekst VBA tekst koristi se samo u VBA. Čini se kao da pretvara brojeve u tekst. Ali u stvarnosti pretvara brojeve u bilo koji format poput vremena, datuma ili raspona broja. Za to nam treba omogućiti da se ova funkcija omogući kao klasa.

Ako vidimo argument VBA teksta, vidjet ćemo da se sastoji od Arg1 i Arg2 kao što je prikazano u nastavku.

  • Arg1 - Ovdje ćemo staviti vrijednost koju želimo pretvoriti u standardni format.
  • Arg2 - Ovdje ćemo odabrati format u kojem želimo vidjeti kako dolazi izlaz.

Obje će varijable biti definirane kao String.

Kako koristiti tekstualnu funkciju Excel VBA?

Naučit ćemo kako koristiti funkciju VBA teksta s nekoliko primjera u excelu.

Možete preuzeti ovaj VBA predložak za tekst Text Excel ovdje - VBA Text Excel predložak

Tekst funkcije VBA - Primjer # 1

Tekst ili brojevi pretvorit ćemo u standardni format u svim nadolazećim primjerima na različite načine.

Slijedite dolje navedene korake za upotrebu tekstualne funkcije u VBA.

Korak 1: Otvorite modul koji je dostupan na kartici izbornika Umetanje, kao što je prikazano u nastavku.

Korak 2: U otvoreni VBA modul napišite potprocesu VBA teksta kao što je prikazano u nastavku.

Kodirati:

 Sub VBA_Text1 () Kraj Sub 

Korak 3: Prema sintaksi teksta VBA teksta, potrebna su nam dva argumenta. Dakle, definirajte prvu varijablu kao String gdje ćemo unositi kao što je prikazano u nastavku.

Kodirati:

 Sub VBA_Text1 () Dim unosa1 Kao niz žice Sub 

Korak 4: Sada definirajte još jednu varijablu gdje ćemo dobiti izlaz. I ovo bi također bilo kao Gudački.

Kodirati:

 Sub VBA_Text1 () Dim unosa1 Kao niza Dim Izlaz kao niz žice Pot 

Korak 5: Sada razmotrimo bilo koji slučajni broj koji moramo pretvoriti u standardni format. To bi mogao biti broj koji želimo vidjeti ili bi to mogao biti bilo koji slučajni broj. Pretpostavimo ako uzmemo u obzir decimalni broj 0, 123 i vidimo što bismo dobili.

Kodirati:

 Sub VBA_Text1 () Dim unosa1 Kao string Dim Izlaz kao string unosa1 = 0, 112 Kraj Sub 

Korak 6: Sada ćemo u drugoj definiranoj varijabli koja je Output, iskoristiti je za stavljanje VBA teksta. Sada će se ova funkcija koristiti kao funkcija Radnog lista kao što je prikazano u nastavku.

Korak 7: Na popisu ugrađenih funkcija odaberite funkciju VBA teksta. Sada ćemo prema sintaksi upotrijebiti našu varijablu i format u koji želimo to pretvoriti kao Arg1 standardni format u koji želimo pretvoriti odabrani broj.

Kodirati:

 Sub VBA_Text1 () Dim unosa1 Kao string Dim Izlaz kao string unosa1 = 0, 123 Izlaz = WorksheetFunction.Text (Kraj Sub 

Korak 8: U Arg1 pišemo varijablu Input1 koja ima naš broj koji trebamo pretvoriti, a Arg2 će biti format u obliku HH: MM: SS AM / PM.

Kodirati:

 Pod VBA_Text1 () Dim ulaza1 Kao niz žice Dim kao izlazni niz 1 = 0, 123 Izlaz = Radni listFunction.Text (Ulaz1, "hh: mm: ss AM / PM") Kraj Sub 

9. korak: Sada upotrijebite MsgBox da biste vidjeli što dolazi kao izlaz.

Kodirati:

 Sub VBA_Text1 () Dim ulaz 1 kao string Dim Izlaz kao string unosa1 = 0, 123 Izlaz = WorksheetFunction.Text (Ulaz1, "hh: mm: ss AM / PM") MsgBox Izlaz Kraj Sub 

Korak 10: Sada pokrenite kôd pritiskom na tipku F5 ili klikom na gumb Reproduciraj. Dobit ćemo okvir s porukom kao 02:57:07 .

Vidjet ćemo drugi put ako odaberemo neki drugi broj.

Korak 11: Sada promijenimo ulazni broj kao 12345 i promijenimo format izlaza u DD-MMM-YYYY kao što je prikazano u nastavku.

Kodirati:

 Sub VBA_Text2 () Dim unosa1 Kao niz žice Dim kao izlazni niz 1 = 12345 Izlaz = WorksheetFunction.Text (Ulaz1, "DD-MM-yyyy") MsgBox Izlaz Kraj Sub 

12. korak: Sada ponovo pokrenite kod. Datum ćemo dobiti 18. listopada 1933. godine

Ako znamo točan broj prema kojem možemo dobiti točan datum ili vrijeme, tada će to biti bolje.

Tekst funkcije VBA - Primjer # 2

Postoji još jedan izravni način primjene VBA teksta. Zbog toga ćemo u listu excela unijeti neke brojeve kao što je prikazano u nastavku.

Slijedite dolje navedene korake za upotrebu tekstualne funkcije u VBA.

Korak 1: U modul napišite podkategoriju VBA teksta kao što je prikazano u nastavku.

Kodirati:

 Sub VBA_Text3 () Kraj Sub 

2. korak: Odaberite raspon ćelija u kojima želimo vidjeti izlaz. Razmotrimo da su te stanice od B1 do B5.

Kodirati:

 Pod VBA_Text3 () Raspon ("B1: B5"). Vrijednost Kraj Sub 

Korak 3: Sada odaberite raspon ćelija koje moramo pretvoriti. Ovdje je taj raspon od ćelije A1 do A5, zajedno s funkcijom Radnog lista.

Kodirati:

 Pod VBA_Text3 () Raspon ("B1: B5"). Vrijednost = raspon ("A1: A5"). Radni list. Kraj Sub 

4. korak: Odaberite funkciju indeksa zajedno s vrednovanjem.

Kodirati:

 Pod VBA_Text3 () Raspon ("B1: B5"). Vrijednost = raspon ("A1: A5"). Radni list.Evaluate ("INDEX (Kraj pot 

Korak 5: Sada razmotrimo funkciju Text i odaberite raspon koji moramo pretvoriti. A format mora biti u više nula.

Kodirati:

 Pod VBA_Text3 () Raspon ("B1: B5"). Vrijednost = raspon ("A1: A5"). Radni list.Evaluate ("INDEX (TEXT (A1: A5, " "000000" "), )") Kraj Sub 

Korak 6: Sada pokrenite kôd pritiskom na tipku F5 ili klikom na gumb Reproduciraj. Vidjet ćemo brojeve dostupne u stupcu A, koji se sada pretvarao u tekst s više nula, što dovodi do 6 znamenki u stupcu B.

A sad da vidimo što bi se dogodilo ako izmijenimo izlazni format iz vodećih nula u vremenski format.

Korak 7: U Arg2 postavite format vremena kao HH: MM: SS i promijenite ćeliju izlaznog raspona u C1 u C5 bez ometanja izlaza dobivenog iz prethodnog koda.

Kodirati:

 Pod VBA_Text3 () raspon ("C1: C5"). Vrijednost = raspon ("C1: C5"). Radni list.Evaluate ("INDEX (TEXT (A1: A5, " hh: mm: ss ""), ) " ) Kraj Sub 

Korak 8: Ponovo pokrenite kod. Vidjet ćemo, stupac C popunit će se zadanim formatom vremena.

Pokušajmo još jedan eksperiment.

Korak 9: U ovome ćemo promijeniti raspon izlaznih ćelija iz D1 u D5 gdje ćemo vidjeti tekst VBA. I promijenite Arg2, u formatu Date koji je DD-MMM-YYYY kao što je prikazano u nastavku.

Kodirati:

 Pod VBA_Text3 () Raspon ("D1: D5"). Vrijednost = raspon ("D1: D5"). Radni list.Evaluate ("INDEX (TEXT (A1: A5, " "DD-MMM-YYYY" "), )" ) Kraj Sub 

Korak 10: Ponovo pokrenite kod. Ovaj put ćemo vidjeti datum će biti prikazan u stupcu D. A ti datumi su u obliku ili DD-MMM-YYYY.

Ovako možemo mijenjati brojeve u bilo koji standardni format koji želimo.

Prednosti i nedostaci funkcije Excel VBA teksta

  • To je lako implementirati.
  • Brojke možemo promijeniti u bilo kojem formatu koji želimo vidjeti.
  • Ne možemo pretvoriti nijedan tekst u traženi oblik broja.

Stvari koje treba zapamtiti

  • VBA tekst pretvara samo brojeve u brojeve. No, format brojeva bit će standardni formati kao što su Datum, Vrijeme, kombinacija datuma i vremena ili bilo koji niz znakova.
  • Ako primjenjujete i mijenjate brojeve u format prethodnih nula, stavite apostrof ispred nule. Tako da će se brojevi pretvoriti u tekst i pojavit će se nule.
  • Ako bilo koji tekst pokušamo pretvoriti s VBA tekstom, tada će on dati samo tekst.
  • Da bismo dobili točan izlaz, moramo znati kombinaciju brojeva koja će pružiti točno vrijeme i datum koji želimo vidjeti.
  • Nakon što učinite, kompletan kôd uvijek spremite u formatu makro omogućenom kako se kod ne bi izgubio.

Preporučeni članci

Ovo je vodič za tekst funkcije VBA. Ovdje smo raspravljali o tome kako koristiti Text funkciju u excelu VBA zajedno s praktičnim primjerima i download excel predloška. Možete i pregledati naše druge predložene članke -

  1. Kopiraj funkciju lijepljenja u VBA
  2. Podstring Excel funkcija
  3. VBA pretplata izvan dometa
  4. Formula ISNUMBER Formula