Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Decimal Point... | Excel Discussion (Misc queries) | |||
Decimal point | Excel Discussion (Misc queries) | |||
How can I get a zero to appear after decimal point | New Users to Excel | |||
Converting 2-place decimal value to floating point decimal number with leading zero | Excel Discussion (Misc queries) | |||
FIXED 2 DECIMAL PLACES, MUST ENTER ALL ZEROES AFTER DECIMAL POINT. | Excel Discussion (Misc queries) |