Testo VBA - Come utilizzare la funzione di testo in VBA Excel? (con esempi)

Il testo è una funzione del foglio di lavoro in Excel ma può essere utilizzata anche in VBA mentre si utilizza la proprietà intervallo con essa, la funzione per questa funzione è simile alla funzione del foglio di lavoro e accetta lo stesso numero di argomenti che sono i valori che devono essere convertito e un formato numerico specificato.

Funzione di testo VBA di Excel

TESTO è la funzione disponibile con il foglio di lavoro, ma sfortunatamente non è una funzione incorporata in Excel VBA. Per accedere a questa funzione, è necessario utilizzare l'oggetto della classe della funzione del foglio di lavoro in VBA. La funzione di testo in Excel converte un valore in un formato numerico specificato.

Uno dei problemi con questa funzione come argomenti. Ogni volta che utilizziamo la classe della funzione del foglio di lavoro VBA, non riusciamo a vedere la sintassi chiara come nel nostro foglio di lavoro. Dice solo "Arg1" e "Arg2".

  • Arg1 è il valore a cui dobbiamo applicare la formattazione.
  • Arg2 è la formattazione che dobbiamo applicare e dobbiamo specificare il codice di formattazione.

Esempi di funzione di testo VBA in Excel

Di seguito sono riportati gli esempi della funzione di testo VBA di Excel.

Esempio 1

Lascia che ti mostri un semplice esempio di TESTO in VBA Excel. Guarda il codice seguente in Visual Basic.

Codice:

Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub

Innanzitutto ho dichiarato due variabili come stringa in VBA.

Dim FormattingValue As String Dim FormattingResult As String

Per la prima variabile, ho assegnato il numero di formattazione, che dobbiamo formattare.

FormattingValue = 0,564

Ora per un'altra variabile, ho assegnato la funzione TESTO.

FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")

Se osservi, ho applicato la formattazione dell'ora, ad esempio "hh: mm: ss AM / PM".

Quindi, finalmente, ho applicato una finestra di messaggio VBA per mostrare il risultato.

MsgBox FormattingResult

Quando eseguo la funzione TESTO del codice applicherà il formato dell'ora al numero 0,564 e visualizzerà il risultato come di seguito.

Quindi, abbiamo il tempo " 01:32:10 PM ".

Esempio n. 2

Simile all'esempio di formato della data, abbiamo apportato alcune piccole modifiche in questo esempio. Di seguito il codice.

Codice:

Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub

Dal codice precedente, ho modificato il valore di formattazione da 0,565 a 43585 e ho cambiato lo stile di formattazione in "GG-MMM-AAAA".

Questo applicherà la formattazione al numero 43585 come data e il risultato è il seguente.

Applica formattazione alle celle

Abbiamo visto semplici esempi. Ora, guarda come lavorare con le celle in un foglio di lavoro. Per questo esempio, guarda i dati seguenti.

Per tutti questi numeri, dobbiamo applicare il formato dell'ora. Questo codice applicherà la formattazione.

Codice:

Sub Text_Example3 () Dim k As Integer For k = 1 To 10 Cells (k, 2) .Value = WorksheetFunction.Text (Cells (k, 1) .Value, "hh: mm: ss AM / PM") Next k End Sub

Questo codice scorrerà attraverso 10 celle e applicherà la formattazione seguente.

In questo modo, utilizzando la funzione TESTO VBA, possiamo applicare la formattazione dei numeri alle celle.

Articoli interessanti...