Funzione rotonda VBA di Excel

È necessario utilizzare la funzione di arrotondamento di Excel per arrotondare i numeri fluttuanti fino a un numero specifico di posizioni decimali. La funzione VBA Round si comporta in modo totalmente diverso da quello utilizzato in Excel. La funzione VBA Round utilizza la logica "round to even". Se il numero che si sta tentando di arrotondare ha l'ultima cifra dopo il decimale> = 0, 6, la funzione VBA Round arrotonda per eccesso (Round UP).

Se il numero che si sta tentando di arrotondare ha l'ultima cifra dopo il decimale <= 0, 4, viene arrotondato per difetto (Arrotondamento per difetto). Supponiamo che la parte decimale sia esattamente 0, 5, quindi cosa fa? In tali casi, verifica con la parte intera del numero. Se la parte intera è pari, viene arrotondata per difetto al numero pari della parte decimale. Se la parte intera è dispari, la arrotonda per eccesso al numero pari. Questo metodo di arrotondamento è anche chiamato "arrotondamento del banco".

Sintassi della funzione rotonda in Excel VBA

La funzione Round VBA ha la sintassi seguente:

Dove,

  • Espressione : il numero mobile che si desidera arrotondare.
  • Decimal_places - È un argomento facoltativo che accetta un valore intero che specifica le posizioni decimali fino a cui il numero dovrebbe essere arrotondato. Dovrebbe essere sempre maggiore o uguale a zero. Se non specificato, per impostazione predefinita viene considerato zero. Ciò significa che un numero viene arrotondato a un numero intero.

Come utilizzare la funzione rotonda VBA di Excel?

Impareremo come utilizzare una funzione Round VBA con alcuni esempi in Excel.

Puoi scaricare questo modello VBA Round Excel qui - Modello VBA Round Excel

Esempio n. 1 - Funzione di arrotondamento VBA per arrotondare un numero

Seguire i passaggi seguenti per utilizzare la funzione Round in Excel VBA.

Passaggio 1: inserire un nuovo modulo in Visual Basic Editor (VBE).

Passaggio 2: definire una nuova procedura secondaria per memorizzare una macro in VBE.

Codice:

 Sottotondo Round_Ex1 () Fine sottotitoli 

Passaggio 3: utilizzare la funzione MsgBox per poter visualizzare un messaggio come questo "Il valore arrotondato è:"

Codice:

 Sub Round_Ex1 () MsgBox "Il valore arrotondato è:" End Sub 

Passaggio 4: Ora, aggiungi "& Round (10.9834, 2)" davanti al comando MsgBox, in modo che il valore arrotondato venga mostrato nella finestra di messaggio.

Codice:

 Sottotondo Round_Ex1 () MsgBox "Il valore arrotondato è:" e arrotondato (10.9834, 2) End Sub 

Passaggio 5: Premi F5 o il pulsante Esegui posizionato nel pannello superiore per eseguire questo codice. Vedrai un output come mostrato di seguito.

Esempio n. 2 - Arrotondare una variabile usando Arrotondamento VBA

Passaggio 1: definire una nuova procedura secondaria in VBE per memorizzare una macro.

Codice:

 Sottotondo Round_Ex2 () Fine sottotitoli 

Passaggio 2: definire una variabile denominata roundNumber come Double che può contenere il valore del numero da arrotondare.

Codice:

 Sottotondo Round_Ex2 () Dim roundNumber Come sottotitolo doppia estremità 

Passaggio 3: assegnare un valore numerico che deve essere arrotondato a questa variabile utilizzando l'operatore di assegnazione.

Codice:

 Sottotondo Round_Ex2 () Dim roundNumber Come Double roundNumber = 23.98 End Sub 

Passaggio 4: utilizzare una combinazione di MsgBox insieme alla funzione Round per arrotondare questo numero fino a un punto decimale.

Codice:

 Sottotondo Round_Ex2 () Dim roundNumber come doppio roundNumber = 23.98 MsgBox "Il numero arrotondato è:" & Round (roundNumber, 1) End Sub 

Passaggio 5: premiamo F5 o il pulsante Esegui per eseguire questo codice e vedere l'output.

Puoi vedere un output come mostrato nello screenshot sopra. Si noti che con la logica di "arrotondare a pari", l'ultimo decimale viene arrotondato a 10 e il decimale successivo diventa 10 stesso, a causa del quale il numero viene arrotondato alla parte pari più vicina dell'intero (cioè 24).

Esempio n. 3 - Valore cella arrotondata utilizzando VBA Round

Supponiamo che il valore che vuoi arrotondare sia memorizzato in una cella del tuo foglio di lavoro Excel.

Tutto quello che vuoi è arrotondare questo valore fino a due decimali.

Passaggio 1: definire una nuova procedura secondaria in un modulo per memorizzare la macro.

Codice:

 Sottotondo Round_Ex3 () Fine sottotitoli 

Passaggio 2: scrivere il comando come "Range (" A2 "). Valore =". Questo comando funziona come una posizione in cui verrà memorizzato l'output.

Codice:

 Sub Round_Ex3 () Range ("A2"). Valore = End Sub 

Passaggio 3: ora, utilizzare una funzione di arrotondamento per arrotondare il valore presente nella cella A1 e memorizzare il risultato nella cella A2. Scrivi il seguente codice: Round (Range ("A1"). Value, 2).

Codice:

 Sub Round_Ex3 () Range ("A2"). Valore = Round (Range ("A1"). Valore, 2) End Sub 

Passaggio 4: Premi F5 o il pulsante Esegui per eseguire questo codice e vedere l'output nella cella A2 del tuo foglio di lavoro.

Esempio n. 4: arrotondare un numero usando la funzione RoundUp VBA

Supponiamo che tu voglia arrotondare un numero usando VBA. Puoi farlo usando la funzione WorksheetFunction.RoundUp.

Passaggio 1: definire una nuova procedura secondaria in Visual Basic Editor in grado di memorizzare la macro.

Codice:

 Sottotondo Round_Ex4 () Fine sottotitoli 

Passaggio 2: definire due variabili, una per contenere il numero che si desidera arrotondare. E l'altro per memorizzare il risultato del roundup.

Codice:

 Sottotondo Round_Ex4 () Dim numToRound come doppio Dim numRoundUp come doppio end Sott 

Passaggio 3: memorizzare un valore nella variabile numToRound che si desidera arrotondare.

Codice:

 Sottotondo Round_Ex4 () Dim numToRound come doppio Dim numRoundUp come doppio numToRound = 12.7543712 End Sub 

Passaggio 4: utilizzare RoundUp per arrotondare questo numero e archiviare il risultato in una variabile numRoundUp.

Codice:

 Sottotondo Round_Ex4 () Dim numToRound come doppio Dim numRoundUp come doppio numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Passaggio 5: utilizzare MsgBox per mostrare l'output nella finestra di messaggio.

Codice:

 Sottotondo Round_Ex4 () Dim numToRound come doppio Dim numRoundUp come doppio numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Il numero arrotondato per eccesso è:" & numRoundUp End Sub 

Passaggio 6: Premi F5 o il pulsante Esegui per eseguire questo codice e vedere l'output.

Esempio n. 5 - Arrotondare un numero usando la funzione RoundDown VBA

Passaggio 1: in una nuova procedura secondaria, definire due nuove variabili con il nome numToRoundDown e roundDownNum. Uno per contenere il valore del numero da arrotondare per difetto e altri per memorizzare l'output dopo che il numero è arrotondato per difetto.

Codice:

 Sottotondo Round_Ex5 () Dim numToRoundDown come doppio dim roundDownNum come sottotitolo doppio 

Passaggio 2: assegnare il valore che si desidera arrotondare per difetto alla variabile denominata "numToRoundDown".

Codice:

 Sottotondo Round_Ex5 () Dim numToRoundDown come doppio Dim roundDownNum come doppio numToRoundDown = 7.075711 End Sub 

Passaggio 3: utilizzare RoundDown per arrotondare questo numero e archiviare il risultato in una variabile roundDownNum.

Codice:

 Sottotondo Round_Ex5 () Dim numToRoundDown come doppio dim roundDownNum come doppio numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Passaggio 4: utilizzare la funzione MsgBox per mostrare il valore di un numero arrotondato per difetto.

Codice:

 Sottotondo Round_Ex5 () Dim numToRoundDown come doppio dim roundDownNum come doppio numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Il numero arrotondato per difetto è:" & roundDownNum End Sub 

Passaggio 5: Premi F5 o il pulsante Esegui per eseguire questo codice e visualizzare l'output come una finestra di messaggio.

Questo è nell'articolo. Abbiamo catturato i concetti di VBA Round, Round Up e Round Down con una manciata di esempi.

Cose da ricordare

  • Questa funzione utilizza un metodo di arrotondamento di un banchiere per arrotondare i numeri che sono in qualche modo diversi dal metodo di arrotondamento effettivo.
  • Questa funzione viene utilizzata per arrotondare un numero con un punto mobile o un numero con decimali fissi fino al numero specificato di posizioni.
  • Significa che la funzione arrotonda per eccesso o per difetto il numero in base al numero dopo i punti decimali.
  • L'argomento decimal_places deve essere maggiore o uguale a zero.
  • Se decimal_places viene lasciato vuoto, verrà considerato zero e il numero verrà arrotondato all'intero più vicino.
  • Se decimal_places è impostato su un valore inferiore a zero, si verifica l'errore di runtime 5. "Errore di runtime" 5 ": chiamata o argomento della procedura non valida".
  • Non è davvero prevedibile che cosa questa funzione arrotonderà il valore quando la cifra dopo il decimale è 5.
  • Se uno o entrambi gli argomenti della funzione Round non sono numerici, la funzione restituirà l'errore di runtime 13. "Errore di runtime" 13 ": tipo non corrispondente".

Articoli consigliati

Questa è stata una guida alla funzione Round VBA. Qui abbiamo discusso su come utilizzare la funzione rotonda VBA di Excel insieme ad esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Guida completa a VBA in caso di errore
  2. Come utilizzare il formato numerico VBA?
  3. VBA VLOOKUP Funzione con esempi
  4. Creazione della funzione VBA in Excel

Categoria: