Come arrotondare i valori in vba (con esempi)
È possibile utilizzare il metodo RoundUp in VBA per arrotondare i valori.
Questa funzione utilizza la seguente sintassi di base:
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
Questo particolare esempio arrotonderà il valore nella cella A1 al numero intero più vicino e visualizzerà il risultato nella cella B1 .
Si noti che il secondo argomento del metodo RoundUp specifica il numero di cifre da arrotondare per eccesso dove:
- -3 giri al migliaio successivo
- -2 arrotonda al centinaio più vicino
- -1 arrotonda per eccesso alla decina più vicina
- 0 arrotonda al numero intero più vicino
- 1 arrotonda al decimo più vicino (una cifra decimale)
- 2 arrotondato al centesimo più vicino (due cifre decimali)
- 3 arrotondato al millesimo più vicino (tre cifre decimali)
E così via.
Gli esempi seguenti mostrano come utilizzare nella pratica il metodo RoundUp .
Esempio 1: arrotondare al numero intero più vicino in VBA
Possiamo creare la seguente macro per arrotondare il valore nella cella A1 al numero intero più vicino e visualizzare il risultato nella cella B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che il valore 1432,78 nella cella A1 è stato arrotondato al numero intero più vicino di 1433 nella cella B1 .
Esempio 2: arrotondamento al centinaio più vicino in VBA
Possiamo creare la seguente macro per arrotondare il valore nella cella A1 al centinaio più vicino e visualizzare il risultato nella cella B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), -2)
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che il valore 1432,78 nella cella A1 è stato arrotondato al centinaio di 1500 più vicino nella cella B1 .
Esempio 3: arrotondamento al decimo più vicino in VBA
Possiamo creare la seguente macro per arrotondare il valore nella cella A1 al decimo più vicino (cioè una cifra decimale) e visualizzare il risultato nella cella B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 1)
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che il valore 1432,78 nella cella A1 è stato arrotondato al decimo più vicino di 1432,8 nella cella B1 .
Nota : qui è possibile trovare la documentazione completa per il metodo VBA RoundUp .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come scrivere le funzioni SOMMA.SE e SOMMA.FS
VBA: come scrivere le funzioni COUNTIF e COUNTIFS
VBA: come scrivere le funzioni MEDIA.SE e MEDIA.SE