VBA -tekstfunksjon

Denne opplæringen vil demonstrere hvordan du bruker tekstfunksjonen i VBA.

Tekstfunksjonen brukes i et Excel -regneark for å returnere en del av en streng i et spesifisert format. Tekstfunksjonen er ikke en VBA -funksjon, men kan brukes i VBA ved å referere til regnearkfunksjonsobjektet.

RegnearkFunksjon.Tekst

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

= WorksheetFunction.Text (Arg1, Arg2)

hvor Arg1 er den opprinnelige strengen og Arg2 er formatet til strengen vi ønsker returnert.

1234567 Sub TestWSFunction ()Dim dte As StringDim strD Som strengdte = "08.05.2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDSlutt Sub

I eksemplet ovenfor lagrer strengvariabelen dte en dato. Tekstfunksjonen returnerer deretter månedsdelen av datoen.

Formatering av tall med tekstfunksjonen

Vi kan bruke tekstfunksjonen til å formatere tall i vår VBA -kode.

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

Strengen som returneres i eksemplet ovenfor vil være $ 75.896,13.

Andre eksempler på tallformatering ved hjelp av tekstfunksjonen er:

12345678 = WorksheetFunction.Text (75896.125, "0")dette kommer tilbake: "75896"= WorksheetFunction.Text (75896.125, "0.0")dette kommer tilbake: "75896.1"= WorksheetFunction.Text (75896.125, "#, ## 0")dette kommer tilbake: "75,896"

Imidlertid har Excel en innebygd VBA -funksjon som vi kan bruke i stedet for tekstfunksjonen hvis vi ønsker å formatere datoer og tall i VBA. Dette er kjent som Format -funksjonen.

VBA -formatfunksjonen

Ved å ta eksemplet ovenfor, i stedet for å bruke WorksheetFunction.Text, kan vi bare bruke Format -funksjonen for å oppnå de samme resultatene.

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

På samme måte kan vi bruke formateringsfunksjonen til å formatere datodeler av en streng.

1234567 Sub TestFormatFunction ()Dim dte As StringDim strD Som strengdte = "08.05.2021"strD = Format (dte, "mmmm")MsgBox strDSlutt Sub

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave