VBA -textfunktion

Denna handledning visar hur du använder textfunktionen i VBA.

Textfunktionen används i ett Excel -kalkylblad för att returnera en del av en sträng i ett visst format. Textfunktionen är inte en VBA -funktion, men kan användas i VBA genom att hänvisa till objektet Funktionsarkfunktion.

ArbetsbladFunktion.Text

Syntaxen i VBA skulle därför vara följande:

= WorksheetFunction.Text (Arg1, Arg2)

där Arg1 är den ursprungliga strängen och Arg2 är formatet på strängen som vi vill ha tillbaka.

1234567 SubtestWSFunction ()Dim dte As StringDim strD Som strängdte = "08/05/2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDAvsluta Sub

I exemplet ovan lagrar strängvariabeln dte ett datum. Textfunktionen returnerar sedan månadsdelen av datumet.

Formatera nummer med textfunktionen

Vi kan använda textfunktionen för att formatera siffror i vår VBA -kod.

1234567 Sub FormatCurrency ()Dim strNum Som strängDim strFormat som strängstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")MsgBox strFormatAvsluta Sub

Strängen som returneras i exemplet ovan skulle vara $ 75,896.13.

Andra exempel på talformatering med textfunktionen är:

12345678 = WorksheetFunction.Text (75896.125, "0")detta kommer tillbaka: "75896"= WorksheetFunction.Text (75896.125, "0.0")detta kommer tillbaka: "75896,1"= WorksheetFunction.Text (75896.125, "#, ## 0")detta kommer tillbaka: "75,896"

Excel har dock en inbyggd VBA -funktion som vi kan använda istället för textfunktionen om vi vill formatera datum och nummer inom VBA. Detta kallas Format -funktionen.

VBA -formatfunktionen

Med exemplet ovan, istället för att använda WorksheetFunction.Text, kan vi bara använda formateringsfunktionen för att uppnå samma resultat.

12345678 = Format (75896.125, "0")detta kommer tillbaka: "75896"= Format (75896.125, "0.0")detta kommer tillbaka: "75896,1"= Format (75896.125, "#, ## 0")detta kommer tillbaka: "75,896"

På samma sätt kan vi använda formateringsfunktionen för att formatera datumportioner av en sträng.

1234567 Sub TestFormatFunction ()Dim dte As StringDim strD Som strängdte = "08/05/2021"strD = Format (dte, "mmmm")MsgBox strDAvsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave