'Rende la cifra arrotondata al numero di decimali desiderato
'

Function Arrotonda(ByVal Numero As Variant, Optional Decimali As Variant = 2) As Variant

 
'Numero =Numero in ingresso
  'Decimali=Decimali desiderati


  Dim Result As Variant  'Risultato
  Dim Nr     As Variant  'Numero da trattare
  Dim Dec    As Integer  'Numero decimali


 
Dec = Decimali
 
'Controllo massimo numero di decimali
 
If Dec > 10 Then Dec = 10

 
'Converto il numero in ingresso nel tipo decimal
 
Nr = CDec(Nz(Numero, 0))

  'Tolgo l'eventuale segno negativo
 
Nr = Abs(Nr)

 
'Arrotondo
 
Result = Nr * 10 ^ Dec + 0.5
  Result = Fix(Result) / 10 ^ Dec


 
'Riassegno l'eventuale segno negativo e rendo il risultato
 
Arrotonda = Result * Sgn(Nz(Numero, 0))

End Function

Giorgio Rancati

Torna all'indice