Numero formato VBA di Excel

VBA è dotato di una funzione integrata per la formattazione dei numeri. Il nome di quella funzione integrata è "Formato numero". Questa funzione formatta il numero specifico in un formato richiesto dall'utente.
Prima di andare avanti, cerchiamo di capire cos'è la formattazione dei numeri. La formattazione del numero significa sostanzialmente che il numero specifico dovrebbe essere mostrato in un modo particolare. Ad esempio, se si desidera visualizzare un numero specifico in termini di due punti decimali (150, 55) o si desidera vedere lo stesso numero in termini di nessun punto decimale (150). Questi sono solo esempi. Fondamentalmente, possiamo classificare la formattazione di questi numeri in quattro categorie.

  • Punti decimali
  • Numeri negativi tra parentesi
  • Cifre iniziali
  • Cifre di gruppo

Impareremo tutte le formattazioni in VBA con l'aiuto di esempi. Ma prima diamo un'occhiata alla sintassi della funzione VBA per il numero di formato.

Quindi, come puoi vedere la sintassi della funzione VBA per il numero di formato nello screenshot sopra, rompiamo quella funzione e comprendiamo ogni parte della funzione.

  1. Espressione: come puoi vedere, la prima parte della funzione è un'espressione che non è altro che il numero che vogliamo formattare.
  2. Num cifra dopo il decimale: la seconda parte della funzione richiede il numero di cifre del numero che si desidera vedere dopo il punto decimale.
  3. Cifra iniziale: è utile quando il numero è compreso tra -1 e 1, il che significa che il numero è maggiore di -1 e minore di 1. Ad esempio 0, 25.

Pertanto, se si desidera visualizzare il valore zero prima del punto decimale, è necessario inserire l'argomento nella funzione come TRUE o -1. Il risultato sarà 0, 55.

Ma se si inserisce il valore nell'argomento come FALSO o 0, il risultato sarà .55.

  1. Usa genitore per i numeri negativi : questa parte viene utilizzata per i numeri negativi. Se vuoi vedere i numeri negativi in ​​una parentesi, allora dovresti dare un argomento come VERO o -1 e il risultato sarà (156). Ma quando si fornisce l'argomento come FALSO o 0, il risultato sarà -156.
  2. Cifre di gruppo : questa è l'ultima parte della funzione utilizzata per i mille separatori. Quindi, se vuoi vedere i numeri con un separatore di mille, devi fornire l'argomento come TRUE o -1 e il risultato sarà 52.000. Ma se fornisci lo stesso argomento di FALSE o 0, il risultato sarà come 52000.

Come formattare il numero utilizzando il codice VBA?

Ora che comprendi le diverse forme di formattazione numerica e la funzione integrata VBA del formato numerico, possiamo andare avanti e vedere come possiamo usarlo con l'aiuto di esempi.

Puoi scaricare questo modello Excel numero formato VBA qui - Modello Excel numero formato VBA

Prima di andare agli esempi, segui i passaggi di base seguenti se non conosci la macro VBA. È possibile inserire i seguenti codici nel modulo VBA.

Passaggio 1: crea un nome Macro che è la prima riga del codice, come puoi vedere nello screenshot.

Passaggio 2: dichiarare una delle variabili come stringa poiché il risultato fornito dalla funzione numero formato VBA è String.

Codice:

 Sub Format_Number_Example1 () Dim MyNum come stringa fine sottotitoli 

Ora possiamo andare avanti con i nostri esempi.

Punti decimali - Esempio n. 1

Supponiamo di lavorare con il numero 56456 e di voler vedere due numeri dopo il punto decimale.

Passaggio 1: nel codice, è possibile aggiungere la funzione integrata VBA come di seguito.

Mynum = Formatnumber (

Passaggio 2: come sapete, il primo passaggio della funzione è l'espressione che non è altro che il numero che si desidera formattare. 56456 nel nostro caso.

Mynum = Formatnumber (56456,

Passaggio 3: Il passaggio successivo è Numdigitafterdecimal che non è altro che il numero di cifre che si desidera vedere dopo il punto decimale che è 2 nel nostro caso.

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Passaggio 4 : il passaggio successivo consiste nel mostrare il numero in una finestra di messaggio. VBA ha una funzione integrata per mostrare il valore in una finestra di messaggio che è MSGBOX.

Quindi è sufficiente inserire il codice seguente dopo aver inserito la funzione del numero di formato per MyNum.

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Come puoi vedere, l'ultima riga del codice è End Sub, che significa che il codice VBA per la macro termina successivamente.

Passaggio 6: al termine della codifica per il numero di formato, è possibile eseguire la macro e visualizzare il risultato seguente dopo aver eseguito la macro.

Mille separatore - Esempio n. 2

Ora supponiamo con lo stesso esempio, dobbiamo mostrare lo stesso numero 56456 con migliaia di separatori. In tal caso, dobbiamo fornire l'ultimo argomento come "vbTrue", come mostrato nell'immagine seguente.

Codice:

Formato secondario_Number_Example2 ()

Dim MyNum As String

MyNum = FormatNumber (56456, 2,,, vbTrue)

MsgBox MyNum

End Sub

Dopo aver eseguito la macro, sarai in grado di vedere il risultato seguente.

Se si seleziona "vbFalse" come ultimo argomento, il numero non verrà visualizzato come separatore delle migliaia.

Mostra il numero negativo nella parentesi - Esempio n. 3

Supponiamo che lo stesso numero 56456 nell'esempio sopra sia negativo e sia necessario mostrare i numeri negativi in ​​una parentesi, quindi il quarto argomento nella funzione dovrebbe essere "vbTrue" come mostrato nell'immagine seguente.

Codice:

 Sub Format_Number_Example3 () Dim MyNum As String MyNum = FormatNumber (-56456, 2,, vbTrue, vbTrue) MsgBox MyNum End Sub 

Come puoi vedere, il quarto e il quinto argomento nel codice sono "vbTrue", il che significa che la formattazione per il numero negativo (quarto argomento) e la formattazione per mille separatori (quinto argomento) sono entrambe vere. Quindi vedrai il numero negativo all'interno di una parentesi e con Thousand Separators come mostrato nella schermata qui sotto.

Formattazione per il numero compreso tra -1 e 1 - Esempio n. 4

Supponiamo che il numero sia 0, 567 che è compreso tra -1 e 1, quindi hai due opzioni per formattare il numero. La prima opzione è mostrare Zero prima del punto decimale o non mostrare zero prima del punto decimale.

Se si sceglie l'opzione per mostrare zero prima del punto decimale, è necessario fornire il terzo argomento nella funzione come "vbTrue", come mostrato nell'immagine seguente.

Codice:

 Sub Format_Number_Example4 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbTrue, vbTrue, vbTrue) MsgBox MyNum End Sub 

Sarai in grado di vedere il risultato seguente dopo aver eseguito il codice macro.

Come puoi vedere, il risultato mostra solo due cifre dopo la virgola perché abbiamo fornito solo 2 come secondo argomento della funzione.

Se selezioni il terzo argomento come "vbFalse" come mostrato nello screenshot seguente.

Codice:

 Sub Format_Number_Example5 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbFalse, vbTrue, vbTrue) MsgBox MyNum End Sub 

Quindi non vedrai lo zero prima del punto decimale come mostrato nello screenshot qui sotto.

Cose da ricordare

  • La funzione FormatNumber di VBA ha 5 argomenti, quindi assicurati di fornire gli argomenti giusti nell'ordine della funzione. Dobbiamo seguire l'ordine della funzione, non c'è altra via d'uscita.
  • Se mantieni uno qualsiasi degli argomenti come Vuoto, considererà automaticamente l'opzione predefinita VBA.
  • Fai attenzione agli argomenti vbTrue e vbFalse per gli ultimi tre argomenti per la formattazione dei numeri.
  • Per il primo argomento che è l'espressione, puoi anche fornire il riferimento di cella nel foglio Excel invece di qualsiasi numero.

Articoli consigliati

Questa è una guida al numero del formato VBA. Qui discutiamo come formattare i numeri in Excel usando il codice VBA insieme ad esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti-

  1. Come utilizzare la funzione TRIM VBA?
  2. Array VBA | Tutorial completo
  3. Come usare il VBA Select Case?
  4. Excel Trova funzione VBA

Categoria: