Tekst er en regnearkfunksjon i Excel, men den kan også brukes i VBA mens du bruker rekkeviddeegenskapen med den, funksjonen for denne funksjonen ligner på regnearkfunksjonen, og det tar samme antall argumenter som er verdiene som må være konvertert og et spesifisert tallformat.
Excel VBA tekstfunksjon
TEKST er funksjonen som er tilgjengelig med regneark, men dessverre er den ikke en innebygd funksjon i Excel VBA. For å få tilgang til denne funksjonen, må vi bruke regnearkets funksjonsklasseobjekt i VBA. Tekstfunksjonen i Excel konverterer en verdi til et spesifisert tallformat.
Et av problemene med denne funksjonen som argumenter. Hver gang vi bruker VBA-regnearkfunksjonsklassen, får vi ikke se den tydelige syntaksen som i regnearket. Det står bare “Arg1” og “Arg2”.
- Arg1 er verdien vi trenger å bruke formateringen på.
- Arg2 er formateringen vi trenger å bruke, og vi må spesifisere formateringskoden.
Eksempler på VBA-tekstfunksjon i Excel
Nedenfor er eksemplene på Excel VBA tekstfunksjon.
Eksempel 1
La meg vise deg et enkelt eksempel på TEXT i VBA Excel. Se på koden nedenfor i Visual Basic.
Kode:
Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub Sub
For det første har jeg erklært to variabler som en streng i VBA.
Dim FormattingValue As String Dim FormattingResult As String
For den første variabelen har jeg tildelt formateringsnummeret, som vi trenger å formatere.
Formateringsverdi = 0,564
Nå for en annen variabel har jeg tildelt TEKST-funksjonen.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Hvis du observerer, har jeg brukt tidsformateringen, dvs. "tt: mm: ss AM / PM."
Så til slutt har jeg brukt en VBA-meldingsboks for å vise resultatet.
MsgBox FormattingResult
Når jeg kjører koden vil TEKST-funksjonen bruke tidsformat til tallet 0.564 og vise resultatet som nedenfor.
Så vi fikk tiden som “ 01:32:10 PM ”.
Eksempel 2
I likhet med datoformateksemplet har vi gjort noen mindre endringer i dette eksemplet. Nedenfor er koden.
Kode:
Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub
Fra forrige kode har jeg endret formateringsverdien fra 0,565 til 43585 og endret formateringsstilen som "DD-MMM-ÅÅÅÅ."
Dette vil gjelde formateringen til nummeret 43585 som dato, og resultatet blir som følger.
Bruk formatering på celler
Vi har sett enkle eksempler. Se nå på hvordan du kan arbeide med celler i et regneark. For dette eksemplet, se på dataene nedenfor.
For alle disse tallene må vi bruke tidsformatet. Denne koden vil bruke formateringen.
Kode:
Underteksteksempel3 () Dim k som heltall For k = 1 til 10 celler (k, 2). Verdi = ArbeidsarkFunksjon. Tekst (Celler (k, 1). Verdi, "tt: mm: ss AM / PM") Neste k Slutt Under
Denne koden vil løpe gjennom 10 celler og bruke formateringen nedenfor.
Som dette, ved å bruke VBA TEXT-funksjonen, kan vi bruke nummerformatering på cellene.