Here are 2 functions courtesy of the NeatCode database by Microsoft...
Function Ceiling(N, ByVal Precision)
'
' Similar to Excel's Ceiling function
' Rounds up to the next higher level of precision.
' Precision cannot be 0.
'
Dim Temp As Double
Precision = Abs(Precision)
Temp = Int(N / Precision) * Precision
If Temp = N Then
Ceiling = N
Else
Ceiling = Temp + Precision * Sgn(Temp)
End If
End Function
Function ToBRoundInt(X As Variant) As Long
'
' Takes a variant, convertis it to a number and rounds it using Banker's Rounding.
' Null/Non-numeric values mapped to zero.
'
' i.e. n.5 rounds to the nearest even number.
' e.g. 1.5 -> 2, but 0.5 -> 0
'
' Fractions less than .5 always round down, and fractions greater always round up.
'
If Not IsNumeric(X) Then
ToBRoundInt = 0
Else
ToBRoundInt = X ' Banker's rounding
End If
End Function