Problem With Decimal Point

S

sifuconman

Hi,

I am a newbie in VBA programing. I have written a subroutine t
calculate gas pressure in soft drink package.

- If the pressure entered in column D is between 11.6 and 12 then O
is displayed in column E

- If the pressure entered in column D is greater than 12 or less tha
11.6 then the difference between 11.8 and the pressure entered will b
displayed in column E together with the alphabet H or L as the case ma
be.

My problem is that if the pressure entered in column D is 12.1 th
display in column E is expected to be 0.3 H but instead I go
0.299999999999999H. If the pressure entered in column D is 11.5 th
display in column E became -0.300000000000001L instead of -0.3L .

Can someone tell me what is wrong with my subroutine ?

Thanks

Subroutine is as follows:

Do While Not IsEmpty(Cells(n, "B"))
Dim n As Integer
n = 6


If Cells(n, "B").Value = "APPLE" And (Cells(n, "C").Value = "PE
500" _
Or Cells(n, "C").Value = "PET 1500") And Cells(n, "D").Value <= 1
_
And Cells(n, "D").Value >= 11.6 Then
Cells(n, "E").Value = "OK"

ElseIf Cells(n, "B").Value = "APPLE" And (Cells(n, "C").Value
"PET 500" _
Or Cells(n, "C").Value = "PET 1500") And Cells(n, "D").Value > 1
Then
Cells(n, "E").Value = Cells(n, "D") - 11.8 & "H"

ElseIf Cells(n, "B").Value = "APPLE" And (Cells(n, "C").Value
"PET 500" _
Or Cells(n, "C").Value = "PET 1500") And Cells(n, "D").Value < 11.
_
And Cells(n, "D").Value > 0 Then
Cells(n, "E").Value = Cells(n, "D") - 11.8 & "L"

End If

n=n+1
Loop
End su
 
B

Bob Phillips

Can you just round it, like so

ElseIf Cells(n, "B").Value = "APPLE" And _
(Cells(n, "C").Value = "PET 500" Or Cells(n, "C").Value = "PET 1500")
And _
Cells(n, "D").Value > 12 Then
Cells(n, "E").Value = Round(Cells(n, "D") - 11.8, 1) & "H"



--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
S

sifuconman

Hi Bob

My problem solved after changing the code as advised.

Thank you very much
 

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