Numero formato VBA

La funzione Format in VBA viene utilizzata per formattare i valori dati nel formato desiderato, questa funzione ha fondamentalmente due argomenti obbligatori, uno è l'input che viene preso sotto forma di una stringa e il secondo argomento è il tipo di formato che vogliamo utilizzare ad esempio, se usiamo Formato (.99, "Percentuale"), il risultato sarà 99%.

Formato numero in VBA Excel

VBA è molto più avanti rispetto alle normali funzioni Excel. VBA ha molte delle sue funzioni integrate proprio come il modo in cui abbiamo più di 500 funzioni nel foglio di lavoro. Una di queste formule in VBA è "Numero formato".

Sì, hai sentito bene, abbiamo una funzione chiamata "FormatNumber" in VBA. In questo articolo, faremo un tour completo di questa funzione esclusivamente.

Come formattare i numeri con VBA NumberFormat?

Come dice il nome della funzione stessa, formatterà il numero dato in base alle istruzioni di formattazione fornite dall'utente.

La formattazione dei numeri non è altro che l'aggiunta di punti decimali, racchiudere numeri negativi tra parentesi, mostrare zeri iniziali per i valori decimali, ecc. Usando la funzione VBA  FormatNumber possiamo applicare lo stile di formattazione ai numeri con cui lavoriamo. Di seguito è la sintassi della funzione

  • Espressione: questo non è altro che il numero che dobbiamo formattare.
  • Num cifre dopo i decimali: quante cifre vuoi per la posizione dei decimali per il lato destro del numero.
  • Includi cifra iniziale: la cifra iniziale non è altro che cifre prima dell'inizio del numero. Questo è applicabile per i valori minori di 1 ma maggiori di -1.
    • Se vuoi mostrare zero prima del valore decimale puoi passare l'argomento come VERO o -1 e il risultato sarà. "0,55"
    • Se non vuoi mostrare zero prima del valore decimale puoi passare l'argomento come FALSE o 0 e il risultato sarà ".55"
    • Il valore predefinito sarà -2, ovvero le impostazioni regionali del computer.
  • Usa i genitori per i numeri negativi: se desideri mostrare i numeri negativi tra parentesi puoi passare l'argomento come VERO o -1 e il risultato sarà. "(255)"
    • Se desideri mostrare i numeri negativi senza parentesi puoi passare l'argomento come FALSE o 0 e il risultato sarà. "-255"
  • Cifre di gruppo: se si desidera aggiungere un migliaio di separatori o meno. Se sì VERO o -1 è l'argomento, se non FALSO o 0 è l'argomento. Per impostazione predefinita, il valore è -2, ovvero uguale alle impostazioni internazionali del computer.

Esempi di funzione FormatNumber VBA di Excel

Vedremo gli esempi pratici della funzione Numero formato VBA di Excel. Eseguiremo ogni singolo argomento separatamente.

A tale scopo creare il nome della macro e dichiarare una delle variabili come stringa. Il motivo per cui dobbiamo dichiarare la variabile come stringa perché il risultato fornito dalla funzione VBA FormatNumber è solo come String.

Puoi scaricare questo modello di funzione del numero di formato VBA qui - Modello di funzione del numero di formato VBA

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String End Sub 

Esempio n. 1: aggiunta di punti decimali davanti al numero

Passaggio 1: supponiamo di aver lavorato con il numero 25000 e di doverlo formattare e aggiungere punti decimali a destra del numero. Assegna un valore alla nostra variabile.

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (End Sub 

Passaggio # 2 - Il  primo è l'espressione, ovvero qual è il numero che dobbiamo formattare, quindi il nostro numero è 25000.

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, End Sub 

Passo # 3 - Il  prossimo è quante cifre dobbiamo aggiungere, cioè 2 cifre.

Codice:

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

Passaggio 4:  mostra il valore della variabile nella finestra di messaggio VBA.

Codice:

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

Passaggio 5:  il risultato di questa macro è così.

Possiamo vedere due decimali a destra del numero.

Esempio n. 2 - Numero di gruppo, ovvero migliaia di separatori

Per lo stesso numero, possiamo aggiungere o eliminare mille separatori. Se vogliamo mostrare un migliaio di separatori, dobbiamo selezionare vbTrue per l'ultimo argomento.

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2``, vbTrue) MsgBox MyNum End Sub 

Questo lancerà il risultato in questo modo.

Ora, se selezioni vbFalse , non avremo mille separatori.

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2``, vbFalse) MsgBox MyNum End Sub 

Il risultato di questo codice come questo.

Se seleziono vbUseDefault otteniamo il risultato secondo le impostazioni di sistema. Di seguito è il risultato di questo.

Quindi la mia impostazione di sistema ha mille separatori per impostazione predefinita.

Esempio n. 3: racchiudere le parentesi per i numeri negativi

Se abbiamo il numero negativo possiamo mostrare il numero negativo tra parentesi. Dobbiamo selezionare vbTrue in "Use Parents for Negative Numbers".

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2`` vbTrue) MsgBox MyNum End Sub 

Ora il risultato è così.

Se selezioniamo vbFalse otterremo un numero negativo con un segno meno.

Codice:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2`` vbFalse) MsgBox MyNum End Sub 

Ora il risultato è così.