Testo VBA

Il testo è una funzione del foglio di lavoro in Excel ma può anche essere utilizzata 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 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 sono gli argomenti. Ogni volta che usiamo la classe di funzioni del foglio di lavoro VBA non possiamo 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.

Puoi scaricare questo modello Excel di testo VBA qui - Modello Excel di testo VBA

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"

Poi 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. Per questo codice di seguito verrà applicata 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 eseguirà un ciclo di 10 celle e applicherà la formattazione come di seguito.

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