VBA-tekst - Hvordan bruges tekstfunktion i Excel VBA med eksempler?

Indholdsfortegnelse:

Anonim

Excel VBA-tekstfunktion

VBA-tekstfunktion bruges kun i VBA. Det ser ud til, at det konverterer numrene til tekst. Men i virkeligheden konverterer det tal til ethvert format som tid, dato eller nummerinterval. For dette skal vi tillade, at denne funktion aktiveres som klasse.

Hvis vi ser argumentet fra VBA-tekst, vil vi se, at det består af Arg1 og Arg2 som vist nedenfor.

  • Arg1 - Her lægger vi den værdi, som vi vil konvertere, i standardformatet.
  • Arg2 - Og her vælger vi det format, som vi vil se, at output kommer som.

Begge variabler defineres som streng.

Sådan bruges Excel VBA-tekstfunktion?

Vi lærer, hvordan man bruger en VBA Text-funktion med et par eksempler i Excel.

Du kan downloade denne VBA-tekst Excel-skabelon her - VBA-tekst Excel-skabelon

VBA-tekstfunktion - eksempel # 1

Vi konverterer teksten eller numrene til standardformatet i alle de kommende eksempler på forskellige måder.

Følg nedenstående trin for at bruge Tekstfunktion i VBA.

Trin 1: Åbn et modul, der er tilgængeligt på fanen Indsæt menu som vist nedenfor.

Trin 2: Skriv det underprocedure for VBA-tekst i det åbne VBA-modul som vist nedenfor.

Kode:

 Sub VBA_Text1 () End Sub 

Trin 3: Pr. Syntaks for VBA-tekst er der to argumenter, som vi har brug for. Så definer den første variabel som streng, hvor vi vil give input som vist nedenfor.

Kode:

 Sub VBA_Text1 () Dim Input1 Som String End Sub 

Trin 4: Definer nu en anden variabel, hvor vi får output. Og dette ville også være som streng.

Kode:

 Sub VBA_Text1 () Dim Input1 Som Streng Dim Output Som String End Sub 

Trin 5: Overvej nu ethvert tilfældigt tal, som vi har brug for at konvertere til standardformatet. Dette kan være det nummer, som vi vil se, eller det kan være et vilkårligt tilfældigt tal. Antag, at hvis vi overvejer et decimaltal 0.123 og se, hvad vi ville få.

Kode:

 Sub VBA_Text1 () Dim Input1 Som streng Dim Output Som streng Input1 = 0.123 End Sub 

Trin 6: Nu i den anden definerede variabel, som er Output, vil vi bruge den til at placere VBA-tekst. Nu bruges denne funktion som regnearkfunktion som vist nedenfor.

Trin 7: Vælg VBA Text-funktionen fra den indbyggede funktionsliste. I henhold til syntaks vil vi bruge vores variabel og format, hvor vi ønsker at konvertere det som Arg1 standardformat, som hvor vi vil konvertere det valgte nummer.

Kode:

 Sub VBA_Text1 () Dim Input1 Som Streng Dim Output Som String Input1 = 0.123 Output = WorksheetFunction.Text (End Sub 

Trin 8: I Arg1 skriver vi variablen Input1, som har vores nummer, som vi har brug for at konvertere, og Arg2 vil være formatet som HH: MM: SS AM / PM.

Kode:

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

Trin 9: Brug nu MsgBox til at se, hvad der kommer som output.

Kode:

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

Trin 10: Kør nu koden ved at trykke på F5-tasten eller ved at klikke på Play-knappen. Vi får beskedboksen med en meddelelse kl . 02:57:07 .

Vi ser en anden gang, hvis vi vælger et andet nummer.

Trin 11: Lad os nu ændre inputnummeret som 12345 og ændre formatet for output i DD-MMM-YYYY som vist nedenfor.

Kode:

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

Trin 12: Kør nu igen koden. Vi får datoen den 18. oktober 1933

Hvis vi ved det nøjagtige antal, hvorpå vi kan få en nøjagtig dato eller tid, vil det være bedre.

VBA-tekstfunktion - eksempel # 2

Der er en anden direkte måde at anvende VBA-tekst på. For dette indtaster vi nogle tal i excelarket som vist nedenfor.

Følg nedenstående trin for at bruge Tekstfunktion i VBA.

Trin 1: Skriv et underkategori af VBA-tekst i et modul som vist nedenfor.

Kode:

 Sub VBA_Text3 () End Sub 

Trin 2: Vælg det område af celler, hvor vi vil se output. Lad os overveje, at disse celler er fra B1 til B5.

Kode:

 Sub VBA_Text3 () Område ("B1: B5"). Værdi End Sub 

Trin 3: Vælg nu det område af celler, som vi har brug for at konvertere. Her er dette interval fra celle A1 til A5 sammen med regnearkfunktion.

Kode:

 Sub VBA_Text3 () Område ("B1: B5"). Værdi = Område ("A1: A5"). Arbejdsark. Afslut under 

Trin 4: Vælg indeksfunktionen ved at evaluere den.

Kode:

 Sub VBA_Text3 () Område ("B1: B5"). Værdi = Område ("A1: A5"). Arbejdsark. Evaluer ("INDEX (slut sub 

Trin 5: Overvej nu Tekstfunktionen og vælg det interval, vi har brug for at konvertere. Og formatet er i flere nuller.

Kode:

 Sub VBA_Text3 () Område ("B1: B5"). Værdi = Område ("A1: A5"). Arbejdsark. Evaluer ("INDEX (TEKST (A1: A5, " "'000000" "), )") Slut Sub 

Trin 6: Kør nu koden ved at trykke på F5-tasten eller ved at klikke på Play-knappen. Vi vil se de tilgængelige numre i kolonne A nu blevet konverteret til tekst med flere nuller, hvilket fører til 6-cifrede tal i kolonne B.

Lad os nu se, hvad der ville ske, hvis vi ændrer outputformatet igen fra førende nuller til tidsformat.

Trin 7: I Arg2 skal du placere tidsformatet som HH: MM: SS og ændre outputområdet celle til C1 til C5 uden at forstyrre output opnået fra den forrige kode.

Kode:

 Sub VBA_Text3 () Område ("C1: C5"). Værdi = Område ("C1: C5"). Arbejdsark. Evaluer ("INDEX (TEXT (A1: A5, " "hh: mm: ss" "), )" ) Afslut under 

Trin 8: Kør igen koden. Vi ser, kolonne C bliver fyldt med standardtidsformatet.

Lad os prøve et andet eksperiment.

Trin 9: I dette ændrer vi outputcelleområdet fra D1 til D5, hvor vi vil se VBA-teksten. Og ændr Arg2 i datoformat, som er DD-MMM-ÅÅÅÅ som vist nedenfor.

Kode:

 Sub VBA_Text3 () Område ("D1: D5"). Værdi = Område ("D1: D5"). Arbejdsark. Evaluer ("INDEX (TEKST (A1: A5, " "DD-MMM-ÅÅÅÅ" "), )" ) Afslut under 

Trin 10: Kør igen koden. Denne gang vil vi se, datoen vil blive vist i kolonne D. Og disse datoer er i formatet som eller DD-MMM-ÅÅÅÅ format.

Dette er, hvordan vi kan ændre numrene i ethvert standardformat, vi ønsker.

Fordele og ulemper ved Excel VBA-tekstfunktion

  • Dette er let at implementere.
  • Vi kan ændre numrene i ethvert format, som vi vil se.
  • Vi kan ikke konvertere nogen tekst til det krævede nummerformat.

Ting at huske

  • VBA-tekst konverterer kun tal til tal. Men formatet med numre er standardformaterne som Dato, Tid, kombinationen af ​​Dato og Tid eller en hvilken som helst sekvens.
  • Hvis du anvender og ændrer numrene til et format med foregående nuller, skal du placere apostrof foran nulerne. Så numrene bliver konverteret til tekst, og nulene vises.
  • Hvis vi prøver at konvertere enhver tekst med VBA-tekst, giver den output kun som tekst.
  • For at få den nøjagtige output, skal vi kende kombinationen af ​​tal, der giver den nøjagtige tid og dato, som vi ønsker at se.
  • Når det er gjort, skal du altid gemme den komplette kode i makroaktiveret format, så koden ikke går tabt.

Anbefalede artikler

Dette er en guide til VBA-tekstfunktion. Her diskuterer vi, hvordan man bruger Tekstfunktion i Excel VBA sammen med praktiske eksempler og downloadbar Excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Copy Paste-funktion i VBA
  2. Undertræk Excel-funktion
  3. VBA-abonnement uden for rækkevidden
  4. Excel ISNUMBER-formel