![]() |
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 |
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 |
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 |
All times are GMT +1. The time now is 03:54 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com