Problem with the round function

G

Guest

Hi every1!!!

Need help understanding whats wrong with this function.
All my variables are declared as Double.

here's my code:

test = Var_clStructural * 1.65

"for this example,Var_clStructural = 4.5"

test=7.425

If i use the round like this:

test = Round(Var_clStructural *1.65,2)

I should get: 7.43, but im not and its frustrating cuz i dont see why its
rounding-up like that.

Can anyone point me in the right direction please!!!

If i asign the 7.425 to a cell, thats formated to numbers with 2 decimal im
ok,why doesnt-it work in VBA.

Thx alot for your help guys!!

PAtrick
 
T

Tom Ogilvy

VBA rounds up or down to the even number. Excel rounds up for 5 or above.

from the immediate window:
Var_clStructural = 4.5
? Round(Var_clStructural *1.65,2)
7.42
? application.Round(Var_clStructural *1.65,2)
7.43
? Var_clStructural *1.65
7.425

So you can use Application.Round to get the worksheet round.

http://support.microsoft.com/default.aspx?scid=kb;en-us;194983
PRB: Round Function different in VBA 6 and Excel Spreadsheet

http://www.xldynamic.com/source/xld.Rounding.html#vba

http://support.microsoft.com/default.aspx?scid=kb;en-us;196652
How To Implement Custom Rounding Procedures
 
D

Don Guillett

try this.
Sub doround()
X = 4.5
y = 1.65
MsgBox Application.RoundUp(X * y, 2)
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top