Funzione testo VBA

Questo tutorial dimostrerà come utilizzare la funzione di testo in VBA.

La funzione Testo viene utilizzata in un foglio di lavoro di Excel per restituire una parte di una stringa in un formato specificato. La funzione Testo non è una funzione VBA, ma può essere utilizzata in VBA facendo riferimento all'oggetto Funzione foglio di lavoro.

Foglio di lavoroFunzione.Testo

La sintassi in VBA sarebbe quindi la seguente:

=FunzioneFoglio di lavoro.Testo (Arg1, Arg2)

dove Arg1 è la stringa originale e Arg2 è il formato della stringa che vogliamo restituire.

1234567 Sub TestWSFunction()Dim dte As StringDim strD As Stringdte = "08/05/2021"strD=WorksheetFunction.Text(dte, "mmmm")MsgBox strDFine sottotitolo

Nell'esempio sopra, la variabile stringa dte sta memorizzando una data. La funzione Text restituisce quindi la parte del mese della data.

Formattare i numeri con la funzione di testo

Possiamo usare la funzione di testo per formattare i numeri nel nostro codice VBA.

1234567 SottoformatoValuta()Dim strNum As StringDim strFormat As StringstrNum = "75896.125"strFormat = WorksheetFunction.Text(strNum, "$#,##0.00")MsgBox strFormatFine sottotitolo

La stringa restituita nell'esempio precedente sarebbe $ 75.896,13.

Altri esempi di formattazione dei numeri utilizzando la funzione di testo sono:

12345678 =FunzioneFoglio di lavoro.Testo(75896.125, "0")questo tornerà: "75896"=FunzioneFoglio di lavoro.Testo(75896.125, "0.0")questo tornerà: "75896.1"=FunzioneFoglio di lavoro.Testo(75896.125, "#,##0")questo tornerà: "75,896"

Tuttavia, Excel ha una funzione VBA incorporata che possiamo usare al posto della funzione Testo se desideriamo formattare date e numeri all'interno di VBA. Questa è nota come funzione Formato.

La funzione formato VBA

Prendendo l'esempio sopra, invece di usare WorksheetFunction.Text, possiamo semplicemente usare la funzione Format per ottenere gli stessi risultati.

12345678 =Formato(75896.125, "0")questo tornerà: "75896"=Formato(75896.125, "0.0")questo tornerà: "75896.1"=Formato(75896.125, "#,##0")questo tornerà: "75,896"

Allo stesso modo, possiamo usare la funzione Format per formattare parti di data di una stringa.

1234567 Sub TestFormatFunction()Dim dte As StringDim strD As Stringdte = "08/05/2021"strD= Formato(dte, "mmmm")MsgBox strDFine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave