Excel Funcție text VBA
Funcția VBA Text este utilizată doar în VBA. Se pare că transformă numerele în text. Dar, în realitate, transformă numerele în orice format precum ora, data sau intervalul de numere. Pentru aceasta, trebuie să permitem ca această funcție să fie activată ca clasă.
Dacă vedem argumentul textului VBA, atunci vom vedea că este format din Arg1 și Arg2 așa cum se arată mai jos.
- Arg1 - Aici vom pune valoarea pe care dorim să o convertim în formatul standard.
- Arg2 - Și aici vom selecta formatul în care dorim să vedem ieșirea.
Ambele variabile vor fi definite drept String.
Cum se utilizează funcția de text Excel VBA?
Vom învăța cum să utilizăm o funcție VBA Text cu câteva exemple în excel.
Puteți descărca acest șablon Excel Text Text aici - Modelul VBA Text ExcelFuncția text VBA - Exemplul # 1
Vom converti textul sau numerele în formatul standard, în toate exemplele viitoare, în moduri diferite.
Urmați pașii de mai jos pentru a utiliza funcția Text în VBA.
Pasul 1: Deschideți un modul care este disponibil în fila meniu Insert, așa cum se arată mai jos.
Pasul 2: În modulul VBA deschis, scrieți subprocedura textului VBA așa cum se arată mai jos.
Cod:
Sub VBA_Text1 () End Sub
Pasul 3: Conform sintaxei textului VBA, există două argumente de care vom avea nevoie. Deci, definiți prima variabilă ca String în care vom oferi intrarea așa cum este arătat mai jos.
Cod:
Sub VBA_Text1 () Dim Input1 Ca Sub End Cap
Pasul 4: Acum definiți o altă variabilă în care vom primi rezultatul. Și acest lucru ar fi și ca String.
Cod:
Sub VBA_Text1 () Dim Input1 As String Dim Output Ca String End Sub
Pasul 5: Ia în considerare orice număr aleatoriu pe care trebuie să-l transformăm în formatul standard. Acesta ar putea fi numărul pe care vrem să-l vedem sau ar putea fi orice număr aleatoriu. Să presupunem, dacă luăm în considerare un număr zecimal 0, 123 și să vedem ce am obține.
Cod:
Sub VBA_Text1 () Dim Input1 Ca șir Ieșire Dim Ca șir de intrare1 = 0.123 End Sub
Pasul 6: Acum, în cealaltă variabilă definită care este Output, o vom folosi pentru a pune VBA Text. Acum, această funcție va fi utilizată ca funcție a foii de lucru, așa cum se arată mai jos.
Pasul 7: Selectați funcția Text VBA din lista de funcții încorporate. Acum, conform sintaxei, vom folosi variabila și formatul în care dorim să convertim asta ca format standard Arg1 ca în care dorim să convertim acel număr selectat.
Cod:
Sub VBA_Text1 () Dim Input1 As String Dim Output Ca String Input1 = 0.123 Output = WorksheetFunction.Text (End Sub
Pasul 8: În Arg1 vom scrie variabila Input1 care are numărul nostru pe care trebuie să-l convertim și Arg2 va fi formatul ca HH: MM: SS AM / PM.
Cod:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") End Sub
Pasul 9: Utilizați acum MsgBox pentru a vedea ce vine ca ieșire.
Cod:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Out End End
Pasul 10: Acum executați codul apăsând tasta F5 sau făcând clic pe butonul Redare. Vom primi caseta de mesaj cu un mesaj la 02:57:07 AM .
Vom vedea altă dată dacă alegem un alt număr.
Pasul 11: Acum schimbăm numărul de intrare ca 12345 și schimbăm formatul de ieșire în DD-MMM-AAAA, așa cum se arată mai jos.
Cod:
Sub VBA_Text2 () Dim Input1 As String Dim Output As String Input1 = 12345 Output = WorksheetFunction.Text (Input1, "DD-MM-aaaa") MsgBox Out End End
Pasul 12: Acum executați din nou codul. Vom obține data la 18 octombrie 1933
Dacă știm numărul exact prin care putem obține o dată sau o dată exacte, atunci va fi mai bine.
Funcția text VBA - Exemplul # 2
Există un alt mod direct de a aplica textul VBA. Pentru aceasta, vom introduce câteva numere în foaia excel așa cum se arată mai jos.
Urmați pașii de mai jos pentru a utiliza funcția Text în VBA.
Pasul 1: Într-un modul, scrieți subcategoria textului VBA așa cum se arată mai jos.
Cod:
Sub VBA_Text3 () End Sub
Pasul 2: Selectăm gama de celule în care dorim să vedem ieșirea. Să considerăm că celulele sunt de la B1 la B5.
Cod:
Sub VBA_Text3 () Interval ("B1: B5"). Valoare Sub End
Pasul 3: Acum selectați gama de celule pe care trebuie să le transformăm. Aici acest interval este de la celula A1 la A5 împreună cu funcția Foaie de lucru.
Cod:
Sub VBA_Text3 () Interval ("B1: B5"). Valoare = Interval ("A1: A5"). Foaie de lucru. Sub final
Pasul 4: Selectați funcția Index împreună evaluând-o.
Cod:
Sub VBA_Text3 () Interval ("B1: B5"). Valoare = Interval ("A1: A5"). Foaie de lucru.Evaluate ("INDEX (End Sub
Pasul 5: Acum luați în considerare funcția Text și selectați intervalul pe care trebuie să-l convertim. Iar formatul să fie în mai multe zerouri.
Cod:
Sub VBA_Text3 () Interval ("B1: B5"). Valoare = Interval ("A1: A5"). Foaie de lucru.Evaluate ("INDEX (TEXT (A1: A5, " "'000000" "), )")
Pasul 6: Acum executați codul apăsând tasta F5 sau făcând clic pe butonul Redare. Vom vedea numerele disponibile în coloana A acum convertite în text cu mai multe zerouri care duce la numere de 6 cifre în coloana B.
Acum să vedem, ce s-ar întâmpla dacă am schimba din nou formatul de ieșire de la zero pentru a conduce la formatul timp.
Pasul 7: În Arg2, puneți formatul de timp ca HH: MM: SS și schimbați celula de ieșire în C1 la C5 fără a deranja ieșirea obținută din codul anterior.
Cod:
Sub VBA_Text3 () Interval ("C1: C5"). Valoare = Interval ("C1: C5"). Foaie de lucru.Evaluate ("INDEX (TEXT (A1: A5, " "hh: mm: ss" "), )" ) End Sub
Pasul 8: rulați din nou codul. Vom vedea, coloana C va fi completată cu formatul de timp implicit.
Să încercăm un alt experiment.
Pasul 9: În acest fel, vom schimba gama de celule de ieșire de la D1 la D5, unde vom vedea textul VBA. Și schimbați Arg2, în format Date, care este DD-MMM-AAAA, așa cum se arată mai jos.
Cod:
Sub VBA_Text3 () Interval ("D1: D5"). Valoare = Interval ("D1: D5"). Foaie de lucru.Evaluate ("INDEX (TEXT (A1: A5", "DD-MMM-AAAA"), ) ") ) End Sub
Pasul 10: rulați din nou codul. De data aceasta vom vedea, data va fi văzută în coloana D. Și aceste date sunt în formatul respectiv sau formatul DD-MMM-AAAA.
Astfel putem schimba numerele în orice format standard dorit.
Pro și contra funcției de text Excel VBA
- Acest lucru este ușor de implementat.
- Putem schimba numerele în orice format pe care dorim să-l vedem.
- Nu putem converti niciun text în formatul de număr dorit.
Lucruri de amintit
- VBA Text convertește doar numere în numere. Dar formatul numerelor va fi formatele standard precum Data, Ora, combinația de Data și Ora sau orice secvență de cifre.
- Dacă aplicați și schimbați numerele într-un format de zero anterioare, atunci puneți apostroful înainte de zero. Așa că numerele vor fi convertite în text și Zero va apărea.
- Dacă încercăm să convertim orice text cu text VBA, atunci vom oferi ieșirea doar ca text.
- Pentru a obține ieșirea exactă, trebuie să cunoaștem combinația de numere care va oferi ora și data exactă pe care dorim să le vedem.
- Odată făcut, salvați întotdeauna codul complet în format Macro-Enabled, astfel încât codul să nu se piardă.
Articole recomandate
Acesta este un ghid pentru funcția text VBA. Aici vom discuta despre cum să utilizăm funcția Text în Excel VBA împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -
- Copiați funcția Paste în VBA
- Substring Funcție Excel
- Abonament VBA în afara intervalului
- Excel Formula ISNUMBER