ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Problem With Decimal Point (https://www.excelbanter.com/excel-programming/369222-problem-decimal-point.html)

sifuconman

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


Bob Phillips

Problem With Decimal Point
 
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)

"sifuconman" wrote
in message ...

Hi,

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

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

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

My problem is that if the pressure entered in column D is 12.1 the
display in column E is expected to be 0.3 H but instead I got
0.299999999999999H. If the pressure entered in column D is 11.5 the
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 = "PET
500" _
Or Cells(n, "C").Value = "PET 1500") And Cells(n, "D").Value <= 12
_
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 12
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.6
_
And Cells(n, "D").Value 0 Then
Cells(n, "E").Value = Cells(n, "D") - 11.8 & "L"

End If

n=n+1
Loop
End sub


--
sifuconman
------------------------------------------------------------------------
sifuconman's Profile:

http://www.excelforum.com/member.php...o&userid=37017
View this thread: http://www.excelforum.com/showthread...hreadid=567803




sifuconman[_2_]

Problem With Decimal Point
 

Hi Bob

My problem solved after changing the code as advised.

Thank you very much

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



All times are GMT +1. The time now is 09:21 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com