Text är en kalkylfunktion i Excel men den kan också användas i VBA när du använder intervallegenskapen med den, funktionen för den här funktionen liknar kalkylbladets funktion och det tar samma antal argument som är de värden som måste vara konverterat och ett specificerat nummerformat.
Excel VBA-textfunktion
TEXT är funktionen som är tillgänglig med kalkylblad, men tyvärr är den inte en inbyggd funktion i Excel VBA. För att komma åt den här funktionen måste vi använda kalkylbladets funktionsklassobjekt i VBA. Textfunktionen i Excel konverterar ett värde till ett angivet nummerformat.
Ett av problemen med denna funktion fungerar som argument. När vi använder VBA-kalkylbladets funktionsklass får vi inte se den tydliga syntaxen ungefär som i vårt kalkylblad. Det står bara "Arg1" och "Arg2".

- Arg1 är det värde vi behöver för att tillämpa formateringen.
- Arg2 är den formatering vi behöver tillämpa och vi måste ange formateringskoden.

Exempel på VBA-textfunktion i Excel
Nedan följer exemplen på Excel VBA Text Function.
Exempel 1
Låt mig visa dig ett enkelt exempel på TEXT i VBA Excel. Titta på koden nedan i Visual Basic.
Koda:
Undertext_exempel1 () Dim formateringsvärde som sträng Dim formateringsresultat som sträng formateringsvärde = 0,564 formateringsresultat = kalkylarkfunktion.Text (formateringsvärde, "hh: mm: ss AM / PM") MsgBox formatering Resultat slut sub

För det första har jag förklarat två variabler som en sträng i VBA.
Dim DimattingValue As String Dim FormattingResult As String
För den första variabeln har jag tilldelat formateringsnumret, som vi behöver formatera.
Formateringsvärde = 0,564
Nu har jag tilldelat TEXT-funktionen för en annan variabel.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Om du observerar har jag tillämpat tidsformateringen, dvs ”hh: mm: ss AM / PM.”
Slutligen har jag tillämpat en VBA-meddelanderuta för att visa resultatet.
MsgBox FormattingResult
När jag kör koden använder TEXT-funktionen tidsformat på siffran 0.564 och visar resultatet enligt nedan.

Så vi fick tiden som ” 01:32:10 PM ”.
Exempel 2
I likhet med datumformatsexemplet har vi gjort några mindre ändringar i detta exempel. Nedan är koden.
Koda:
Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub Sub

Från den föregående koden har jag ändrat formateringsvärdet från 0,565 till 43585 och ändrat formateringsstilen som “DD-MMM-ÅÅÅÅ.”
Detta kommer att tillämpa formateringen på numret 43585 som datum och resultatet blir som följer.

Använd formatering på celler
Vi har sett enkla exempel. Titta nu på hur du arbetar med celler i ett kalkylblad. För det här exemplet, se nedanstående data.

För alla dessa siffror måste vi tillämpa tidsformatet. Den här koden tillämpar formateringen.
Koda:
Undertext_exempel3 () Dim k som heltal För k = 1 till 10 celler (k, 2). Värde = ArbetsbladFunktion.Text (Celler (k, 1). Värde, "hh: mm: ss AM / PM") Nästa k Slut Sub

Den här koden kommer att slinga igenom 10 celler och tillämpa formateringen nedan.

Så här, med hjälp av VBA TEXT-funktionen, kan vi tillämpa nummerformatering på cellerna.