VBA -tekstfunktion

Denne vejledning viser, hvordan du bruger tekstfunktionen i VBA.

Tekstfunktionen bruges i et Excel -regneark til at returnere en del af en streng i et bestemt format. Tekstfunktionen er ikke en VBA -funktion, men kan bruges i VBA ved at henvise til objektet Funktionsarkfunktion.

ArbejdsarkFunktion.Tekst

Syntaksen i VBA ville derfor være som følger:

= WorksheetFunction.Text (Arg1, Arg2)

hvor Arg1 er den originale streng og Arg2 er formatet på den streng, vi ønsker returneret.

1234567 SubtestWSFunction ()Dim dte Som strengDim strD Som strengdte = "08/05/2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDAfslut Sub

I ovenstående eksempel gemmer strengvariablen dte en dato. Tekstfunktionen returnerer derefter månedsdelen af ​​datoen.

Formatering af tal med tekstfunktionen

Vi kan bruge tekstfunktionen til at formatere tal i vores VBA -kode.

1234567 Sub FormatCurrency ()Dim strNum Som strengDim strFormat As StringstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")MsgBox strFormatAfslut Sub

Strengen, der returneres i ovenstående eksempel, ville være $ 75.896,13.

Andre eksempler på talformatering ved hjælp af tekstfunktionen er:

12345678 = WorksheetFunction.Text (75896.125, "0")dette vender tilbage: "75896"= WorksheetFunction.Text (75896.125, "0.0")dette vender tilbage: "75896,1"= WorksheetFunction.Text (75896.125, "#, ## 0")dette vender tilbage: "75,896"

Excel har imidlertid en indbygget VBA -funktion, som vi kan bruge i stedet for tekstfunktionen, hvis vi ønsker at formatere datoer og tal inden for VBA. Dette kaldes formateringsfunktionen.

VBA -formatfunktionen

Ved at tage eksemplet ovenfor i stedet for at bruge WorksheetFunction.Text kan vi bare bruge Format -funktionen til at opnå de samme resultater.

12345678 = Format (75896.125, "0")dette vender tilbage: "75896"= Format (75896.125, "0.0")dette vender tilbage: "75896.1"= Format (75896.125, "#, ## 0")dette vender tilbage: "75,896"

På samme måde kan vi bruge formateringsfunktionen til at formatere datodele af en streng.

1234567 Sub TestFormatFunction ()Dim dte Som strengDim strD Som strengdte = "08/05/2021"strD = Format (dte, "mmmm")MsgBox strDAfslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave