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-malVBA-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 -
- Kopier lim inn funksjon i VBA
- Substring Excel-funksjon
- VBA-abonnement utenfor rekkevidden
- Excel ISNUMBER-formel