Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Rounding error???
Hi
I have have wrote the following code to get a value from a cell in one spreadsheet and put it into another sheet. The problem is the value is in money ie £25.68 but when the macro puts the value in the other sheet the value is rounded up or dowm ie £26.00 The following code is a small element of a large macro, but show the problem if processed. Dim price As Long price = ActiveCell.Value Sheets("Sheet3").Select Range("I21").Select ActiveCell.Value = price End Sub Any ideas to resolve the problem would be gratfully recieved. Thanks |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Rounding error???
You've defined price as being "Long". This is an integral
type, so it will round to an integer when you assign ActiveCell.Value to it. Try Dim price as Double instead. On 29 Sep, 12:58, oggy wrote: Hi I have have wrote the following code to get a value from a cell in one spreadsheet and put it into another sheet. The problem is the value is in money ie £25.68 but when the macro puts the value in the other sheet the value is rounded up or dowm ie £26.00 The following code is a small element of a large macro, but show the problem if processed. Dim price As Long price = ActiveCell.Value Sheets("Sheet3").Select Range("I21").Select ActiveCell.Value = price End Sub Any ideas to resolve the problem would be gratfully recieved. Thanks |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Rounding error???
On Sat, 29 Sep 2007 11:58:44 -0000, oggy wrote:
Hi I have have wrote the following code to get a value from a cell in one spreadsheet and put it into another sheet. The problem is the value is in money ie £25.68 but when the macro puts the value in the other sheet the value is rounded up or dowm ie £26.00 The following code is a small element of a large macro, but show the problem if processed. Dim price As Long price = ActiveCell.Value Sheets("Sheet3").Select Range("I21").Select ActiveCell.Value = price End Sub Any ideas to resolve the problem would be gratfully recieved. Thanks Dim price as Long Long is a long integer value. If you don't want your result to round, Dim price as Double. Also, there is a lot of redundancy in your code. There is no need for all the selects or the last ActiveCell ========================== Dim price As Double price = ActiveCell.Value Sheets("Sheet3").Range("I21").Value = price ============================= would do the same thing. Or even: ====================================== Sheets("Sheet3").Range("I21").Value = ActiveCell.Value ========================================== --ron |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
rounding error | Excel Discussion (Misc queries) | |||
rounding error? | Excel Discussion (Misc queries) | |||
rounding error | Excel Programming | |||
Is this rounding error? | Excel Programming | |||
Rounding Error | Excel Programming |