PDA

Click to See Complete Forum and Search --> : Excel VBA - Easy Roundup Proc for Integer Numerator and Decimal Denominator


waldzinator
Dec 17th, 2010, 01:00 PM
The following is a nice, eloquent way to selectively round up decimal numbers to the next highest integer --- sort of a ceiling procedure.


Dim intNum as Integer
Dim sglDenom as Single
Dim intQuotient as Integer
Dim intResult as Integer
intQuotient = Int(intNum/sglDenom)
If intNum Mod intQuotient = 0 Then
intResult = intQuotient
Else
intResult = intQuotient + 1
End If


You could theoretically modify this to do division with two decimal numbers as well. The logic would nearly be the same. I've seen other Roundup methods, some using Case...Select Structures and others using called functions. This could just be dropped into your Sub without calling a procedure, especially if you're looking for a quick and dirty approach.

Hack
Dec 17th, 2010, 01:32 PM
Moved To The CodeBank

Will this work with any verison of Excel?

waldzinator
Dec 17th, 2010, 01:45 PM
Hack,

This procedure was run using Access VBA 2002/2003. I just tested it with Excel 2003, and it worked. Added benefit with Excel would be that the Mod function is a Worksheet function, as opposed to a backend function --- however, I tested it with the VBA built-in Mod function, not the Excel Worksheet function.

Jeremy