View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default CSng adds erroneous digits to the value

Ben,
I'm surprised you could get it to compile. Look at the bracket positions.
Cells(i, 8).Value =Round(CSng(Cells(i, 10).Value), 4)

NickHK

wrote in message
oups.com...
I'm stumped with what's happening here. I have a value in a CSV that I
want to round. I wanted to use CSng to force the single data type so
that an error would not occur from trying to round a text string. My
code is simple:

Cells(i, 8).Value = Round(CSng(Cells(i, 10).Value, 4))

where i is an integer used in a loop to run down the cells in columns 8
and 10.

For some reason when I set the value in Cell(i,8), Excel is adding some
apparently random erroneous digits to the end of the value. So for
example, a value appearing as 12.1294 in Cell(i,10) comes out as
12.12946789 in Cell(i,8). It appears to be something that happens when
I insert the value into a cell too. If I just display
Round(CSng(Cells(i, 10).Value, 4))
in a Msgbox everything looks fine. Anybody know what might be causing
this? I'm running MS VB 6.0 with MS Excel 2000.