View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
sifuconman sifuconman is offline
external usenet poster
 
Posts: 1
Default Problem With Decimal Point


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

--
sifuconma
-----------------------------------------------------------------------
sifuconman's Profile: http://www.excelforum.com/member.php...fo&userid=3701
View this thread: http://www.excelforum.com/showthread.php?threadid=56780