vba round up code example

Example 1: vba round number

Function RoundTo(pNumber As Long, pFactor As Long)
    RoundTo = Round(pNumber / pFactor) * pFactor 
End Function
' ---------------------------------------------------------------
Sub TestMe()
    Debug.Print RoundTo(2543, 10)    			' => 2540
    Debug.Print RoundTo(2546, 10)    			' => 2550
    Debug.Print Application.RoundUp(10.1, 0) 	' => 10
    Debug.Print Application.RoundUp(10.6, 0) 	' => 11
    Debug.Print Application.RoundDown(10.6, 0) 	' => 10
End Sub

Example 2: excel vba ceiling function

'VBA does NOT have a native Ceil() function which is found in many
'programming languages. Ceil() should round up to the next whole
'number unless the value is already EXACTLY a whole number. The most 
'performant way to accomplish this in VBA is with this custom
'function:

Function Ceil&(n#)
    Ceil = -Int(-n)
    If n < 0 Then Ceil = Fix(n)
End Function

'---------------------------------------------------------------------
  
MsgBox Ceil(5.000000000000001)     '<--displays: 6
MsgBox Ceil(5.999999999999999)     '<--displays: 6
MsgBox Ceil(5.000000000000000)     '<--displays: 5
  
'Note: This method is much faster than using the RoundUp() function.

Example 3: excel vba floor function

'VBA does NOT have a native Floor() function which is found in most
'programming languages. Floor() should round down to the next whole
'number. However, VBA does have the Fix() function which does exactly
'the same thing:
 
MsgBox Fix(5.000000000000001)     '<--displays: 5
MsgBox Fix(5.999999999999999)     '<--displays: 5
MsgBox Fix(5.000000000000000)     '<--displays: 5
  
'Note: This method is much faster than using the RoundDown() function.

Tags:

Vb Example