VBA Text - Hur använder jag textfunktion i Excel VBA med exempel?

Innehållsförteckning:

Anonim

Excel VBA-textfunktion

VBA-textfunktionen används endast i VBA. Det verkar som om det konverterar siffrorna till text. Men i själva verket konverterar den siffror till alla format som Time, Date eller nummerintervall. För detta måste vi låta den här funktionen aktiveras som klass.

Om vi ​​ser argumentet för VBA-text kommer vi att se att det består av Arg1 och Arg2 som visas nedan.

  • Arg1 - Här sätter vi värdet som vi vill konvertera i standardformatet.
  • Arg2 - Och här kommer vi att välja det format vi vill se utgången komma som.

Båda variablerna kommer att definieras som sträng.

Hur använder jag Excel VBA-textfunktion?

Vi kommer att lära dig att använda en VBA Text-funktion med några exempel i Excel.

Du kan ladda ner denna VBA Text Excel-mall här - VBA Text Excel Mall

VBA-textfunktion - exempel # 1

Vi kommer att konvertera texten eller siffrorna till standardformatet i alla kommande exempel på olika sätt.

Följ stegen nedan för att använda textfunktionen i VBA.

Steg 1: Öppna en modul som är tillgänglig på menyn fliken Infoga som visas nedan.

Steg 2: Skriv den delproceduren för VBA-text i den öppna VBA-modulen som visas nedan.

Koda:

 Sub VBA_Text1 () Slut Sub 

Steg 3: Enligt syntaxen för VBA Text finns det två argument som vi kommer att behöva. Så definiera den första variabeln som String där vi kommer att ge ingången som visas nedan.

Koda:

 Sub VBA_Text1 () Dim Input1 Som String End Sub 

Steg 4: Definiera nu en annan variabel där vi får utdata. Och detta skulle också vara lika strängt.

Koda:

 Sub VBA_Text1 () Dim Input1 Som Sträng Dim Output Som String End Sub 

Steg 5: Överväg nu alla slumpmässiga nummer som vi behöver konvertera till standardformatet. Detta kan vara det nummer vi vill se eller det kan vara valfritt slumpmässigt antal. Anta, om vi överväger ett decimaltal 0.123 och ser vad vi skulle få.

Koda:

 Sub VBA_Text1 () Dim Input1 Som Sträng Dim Output Som String Input1 = 0.123 End Sub 

Steg 6: Nu i den andra definierade variabeln som är Output, kommer vi att använda den för att sätta VBA-text. Nu kommer den här funktionen att användas som kalkylbladsfunktion som visas nedan.

Steg 7: Välj funktionen VBA Text från den inbyggda funktionslistan. Nu enligt syntaxen kommer vi att använda vår variabel och vårt format där vi vill konvertera det som Arg1 standardformat som där vi vill konvertera det valda numret.

Koda:

 Sub VBA_Text1 () Dim Input1 Som Sträng Dim Output Som String Input1 = 0.123 Output = WorksheetFunction.Text (End Sub 

Steg 8: I Arg1 skriver vi variabeln Input1 som har vårt nummer som vi behöver konvertera och Arg2 kommer att vara formatet som HH: MM: SS AM / PM.

Koda:

 Sub VBA_Text1 () Dim Input1 Som Sträng Dim Output Som String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") End Sub 

Steg 9: Använd nu MsgBox för att se vad som kommer som Output.

Koda:

 Sub VBA_Text1 () Dim Input1 Som Sträng Dim Output Som String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Output End Sub 

Steg 10: Kör nu koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen. Vi får meddelandelådan med ett meddelande 02:57:07 .

Vi ser en annan gång om vi väljer något annat nummer.

Steg 11: Låt oss nu ändra inmatningsnumret som 12345 och ändra formatet för utdata i DD-MMM-ÅÅÅÅ som visas nedan.

Koda:

 Sub VBA_Text2 () Dim Input1 Som Sträng Dim Output Som String Input1 = 12345 Output = WorksheetFunction.Text (Input1, "DD-MM-yyyy") MsgBox Output End Sub 

Steg 12: Kör nu igen koden. Vi får datumet 18 oktober 1933

Om vi ​​vet det exakta antalet som vi kan få ett exakt datum eller tid så kommer det att bli bättre.

VBA-textfunktion - exempel # 2

Det finns ett annat direkt sätt att tillämpa VBA-text. För detta kommer vi att ange några nummer i excel-arket som visas nedan.

Följ stegen nedan för att använda textfunktionen i VBA.

Steg 1: Skriv en underkategori av VBA-text i en modul som visas nedan.

Koda:

 Sub VBA_Text3 () Slut Sub 

Steg 2: Välj det antal celler där vi vill se utgången. Låt oss anse att cellerna är från B1 till B5.

Koda:

 Sub VBA_Text3 () Område ("B1: B5"). Värde Slut Sub 

Steg 3: Välj nu det antal celler som vi behöver konvertera. Här är intervallet från cell A1 till A5 tillsammans med kalkylfunktion.

Koda:

 Sub VBA_Text3 () Område ("B1: B5"). Värde = Område ("A1: A5"). Arbetsblad. Avsluta under 

Steg 4: Välj indexfunktionen genom att utvärdera den.

Koda:

 Sub VBA_Text3 () Range ("B1: B5"). Value = Range ("A1: A5"). Worksheet.Evaluate ("INDEX (End Sub Sub 

Steg 5: Överväg nu Textfunktionen och välj det intervall som vi behöver konvertera. Och formatet är i flera nollor.

Koda:

 Sub VBA_Text3 () Range ("B1: B5"). Value = Range ("A1: A5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " "'000000" "), )") End Sub 

Steg 6: Kör nu koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen. Vi ser de tillgängliga siffrorna i kolumn A som nu har konverterats till text med flera nollor vilket leder till 6-siffriga nummer i kolumn B.

Låt oss nu se, vad som skulle hända om vi ändrar utgångsformatet igen från ledande nollor till tidsformat.

Steg 7: I Arg2, lägg tidsformatet som HH: MM: SS och ändra utgångsområdecellen till C1 till C5 utan att störa utgången från den föregående koden.

Koda:

 Sub VBA_Text3 () Range ("C1: C5"). Value = Range ("C1: C5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " "hh: mm: ss" "), )" ) Avsluta under 

Steg 8: Kör igen koden. Vi ser, kolumn C kommer att fyllas med standardtidsformatet.

Låt oss prova ett nytt experiment.

Steg 9: I detta kommer vi att ändra utdatacellområdet från D1 till D5 där vi ser VBA-texten. Och ändra Arg2, i datumformat som är DD-MMM-ÅÅÅÅ som visas nedan.

Koda:

 Sub VBA_Text3 () Range ("D1: D5"). Value = Range ("D1: D5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " "DD-MMM-YYYY"), ) " ) Avsluta under 

Steg 10: Kör igen koden. Den här gången kommer vi att se datumet i kolumn D. Och dessa datum är i det formatet eller DD-MMM-ÅÅÅÅ-formatet.

Så här kan vi ändra siffrorna i valfritt standardformat.

Fördelar och nackdelar med Excel VBA-textfunktion

  • Detta är lätt att implementera.
  • Vi kan ändra siffrorna i alla format som vi vill se.
  • Vi kan inte konvertera text till önskat nummerformat.

Saker att komma ihåg

  • VBA Text konverterar endast siffror till siffror. Men numret är standardformaten som Datum, Tid, kombinationen av Datum och Tid eller vilken sekvens som helst.
  • Om du applicerar och ändrar siffrorna till ett format med föregående nollor, lägg sedan apostrofen framför nollorna. Så att siffrorna kommer att konverteras till text och nollorna kommer att visas.
  • Om vi ​​försöker konvertera text med VBA-text, kommer det att ge utdata endast som text.
  • För att få exakt utmatning måste vi känna till kombinationen av siffror som ger den exakta tid och datum som vi vill se.
  • När du gjort det, spara alltid den fullständiga koden i makroaktiverat format så att koden inte går förlorad.

Rekommenderade artiklar

Detta är en guide till VBA-textfunktion. Här diskuterar vi hur man använder Text-funktion i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Kopiera klistra in funktion i VBA
  2. Substring Excel-funktion
  3. VBA-prenumeration utanför räckvidden
  4. Excel ISNUMBER-formel