VBA-tekst - Hvordan bruke tekstfunksjon i Excel VBA med eksempler?

Innholdsfortegnelse:

Anonim

Excel VBA-tekstfunksjon

VBA-tekstfunksjon brukes bare i VBA. Det virker som om det konverterer tallene til tekst. Men i virkeligheten konverterer den tall til ethvert format som Tid, Dato eller tallområde. For dette må vi la denne funksjonen aktiveres som klasse.

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

  • Arg1 - Her vil vi sette verdien som vi ønsker å konvertere i standardformatet.
  • Arg2 - Og her vil vi velge formatet vi ønsker å se utgangen komme i.

Begge variablene vil bli definert som streng.

Hvordan bruke Excel VBA-tekstfunksjon?

Vi lærer hvordan du bruker en VBA Text-funksjon med noen få eksempler i Excel.

Du kan laste ned denne VBA-tekst Excel-malen her - VBA-tekst Excel-mal

VBA-tekstfunksjon - eksempel # 1

Vi vil konvertere teksten eller tallene til standardformat i alle kommende eksempler på forskjellige måter.

Følg trinnene nedenfor for å bruke tekstfunksjon i VBA.

Trinn 1: Åpne en modul som er tilgjengelig i Sett inn menyfanen som vist nedenfor.

Trinn 2: I den åpne VBA-modulen, skriv underprosessen til VBA-tekst som vist nedenfor.

Kode:

 Sub VBA_Text1 () Slutt Sub 

Trinn 3: I henhold til syntaks for VBA-tekst, er det to argumenter som vi trenger. Så definer den første variabelen som streng der vi vil gi innspillet som vist nedenfor.

Kode:

 Sub VBA_Text1 () Dim Input1 Som String End Sub 

Trinn 4: Definer nå en annen variabel hvor vi får utdataene. Og dette vil også være like streng.

Kode:

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

Trinn 5: Vurder nå et tilfeldig tall som vi trenger å konvertere til standardformatet. Dette kan være tallet vi ønsker å se, eller det kan være et hvilket som helst tilfeldig tall. Anta at hvis vi vurderer et desimaltall 0.123 og ser hva vi ville fått.

Kode:

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

Trinn 6: Nå i den andre definerte variabelen som er Output, vil vi bruke den til å sette VBA-tekst. Nå blir denne funksjonen brukt som regnearkfunksjon som vist nedenfor.

Trinn 7: Velg VBA Text-funksjonen fra den innebygde funksjonslisten. Nå i henhold til syntaks vil vi bruke variabelen og formatet der vi ønsker å konvertere det som Arg1 standardformat som det vi vil konvertere det valgte tallet på.

Kode:

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

Trinn 8: I Arg1 skriver vi variabelen Input1 som har nummeret vårt som vi trenger å 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 

Trinn 9: Bruk nå MsgBox for å se hva som kommer som Output.

Kode:

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

Trinn 10: Kjør nå koden ved å trykke på F5-tasten eller ved å klikke på Play-knappen. Vi får meldingsboksen med en melding 02:57:07 .

Vi ser en annen gang hvis vi velger et annet nummer.

Trinn 11: La oss nå endre inngangsnummeret som 12345 og endre formatet for utdata i DD-MMM-ÅÅÅÅ 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 

Trinn 12: Kjør koden igjen. Vi får datoen 18. oktober 1933

Hvis vi vet hvor nøyaktig vi kan få en eksakt dato eller klokkeslett, vil det være bedre.

VBA-tekstfunksjon - eksempel # 2

Det er en annen direkte måte å bruke VBA-tekst på. For dette vil vi legge inn noen tall i excelarket som vist nedenfor.

Følg trinnene nedenfor for å bruke tekstfunksjon i VBA.

Trinn 1: Skriv en underkategori av VBA-tekst i en modul som vist nedenfor.

Kode:

 Sub VBA_Text3 () Slutt Sub 

Trinn 2: Velg området celler der vi vil se utdataene. La oss vurdere at cellene er fra B1 til B5.

Kode:

 Sub VBA_Text3 () Range ("B1: B5"). Verdi Slutt Sub 

Trinn 3: Velg nå området med celler som vi trenger å konvertere. Her er dette området fra celle A1 til A5 sammen med regnearkfunksjon.

Kode:

 Sub VBA_Text3 () Range ("B1: B5"). Verdi = Range ("A1: A5"). Arbeidsark. Slutt sub 

Trinn 4: Velg indeksfunksjonen ved å evaluere den.

Kode:

 Sub VBA_Text3 () Område ("B1: B5"). Verdi = Område ("A1: A5"). Arbeidsark. Evaluere ("INDEX (Slutt sub 

Trinn 5: Vurder nå Tekst-funksjonen og velg området vi trenger å konvertere. Og formatet være i flere nuller.

Kode:

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

Trinn 6: Kjør nå koden ved å trykke på F5-tasten eller ved å klikke på Play-knappen. Vi vil se antall tilgjengelige i kolonne A som nå ble konvertert til tekst med flere nuller som fører til 6-sifrede tall i kolonne B.

La oss se, hva som ville skje hvis vi endrer utdataformatet igjen fra ledende nuller til tidsformat.

Trinn 7: I Arg2, legg tidsformat som HH: MM: SS og endre output-området celle til C1 til C5 uten å forstyrre output oppnådd fra forrige kode.

Kode:

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

Trinn 8: Kjør koden igjen. Vi ser, kolonne C blir fylt med standard tidsformat.

La oss prøve et nytt eksperiment.

Trinn 9: I dette vil vi endre utdatacelleområdet fra D1 til D5 hvor vi vil se VBA-teksten. Og endre Arg2 i datoformat som er DD-MMM-ÅÅÅÅ som vist nedenfor.

Kode:

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

Trinn 10: Kjør koden igjen. Denne gangen vil vi se, datoen vil bli sett i kolonne D. Og disse datoene er i formatet som eller DD-MMM-ÅÅÅÅ-format.

Slik kan vi endre tallene i hvilket som helst standardformat vi ønsker.

Fordeler og ulemper med Excel VBA-tekstfunksjon

  • Dette er enkelt å implementere.
  • Vi kan endre tallene i hvilket som helst format som vi ønsker å se.
  • Vi kan ikke konvertere noen tekst til ønsket nummerformat.

Ting å huske

  • VBA-tekst konverterer bare tall til tall. Men formatet med tall vil være standardformatene som dato, klokkeslett, kombinasjonen av dato og klokkeslett eller hvilken som helst siffersekvens.
  • Hvis du bruker og endrer tallene til et format med foregående nuller, legger du apostrof foran nullene. Slik at tallene blir konvertert til tekst og null vises.
  • Hvis vi prøver å konvertere en hvilken som helst tekst med VBA-tekst, vil den gi utdata bare som tekst.
  • For å få den eksakte effekten, må vi kjenne til kombinasjonen av tall som vil gi den nøyaktige tiden og datoen vi ønsker å se.
  • Når du er ferdig, må du alltid lagre hele koden i makroaktivert format, slik at koden ikke går tapt.

Anbefalte artikler

Dette er en guide til VBA-tekstfunksjon. Her diskuterer vi hvordan du bruker Tekstfunksjon i Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Kopier lim inn funksjon i VBA
  2. Substring Excel-funksjon
  3. VBA-abonnement utenfor rekkevidden
  4. Excel ISNUMBER-formel