Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default converting 16 digit number to text

Hello,

I have a spreadsheet with a single column containing 25000 rows that have a
16 digit number. I'd like to convert the .xls to csv and in doing that i
changed the number to an exponential number. So avoid this I came up with
the follwoing code that will add a ' to all the rows but it didn't work
because after the single quote was added the number flipped to an
exponential number.

Sub test()
'

'
' Keyboard Shortcut: Ctrl+Shift+Q
'

Dim irow1 As Long
Dim ws1 As Worksheet
Dim test As String

Set ws1 = Worksheets("Sheet1")
For irow1 = 1 To 50
'test = ws1.Cells(irow1, 3)
'MsgBox test
ws1.Cells(irow1, 6) = "'" & ws1.Cells(irow1, 3)
Next irow1

End Sub

Any ideas?

thanks


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default converting 16 digit number to text

Dim irow1 As Long
Dim ws1 As Worksheet
Dim test As String

Set ws1 = Worksheets("Sheet1")
For irow1 = 1 To 50
test = ws1.Cells(irow1, 3).Text
cells(irow1,6).Numberformat = "@"
'MsgBox test
ws1.Cells(irow1, 6) = "'" & test
Next irow1

End Sub


--
Regards,
Tom Ogilvy

"Troy" wrote in message
...
Hello,

I have a spreadsheet with a single column containing 25000 rows that have

a
16 digit number. I'd like to convert the .xls to csv and in doing that i
changed the number to an exponential number. So avoid this I came up with
the follwoing code that will add a ' to all the rows but it didn't work
because after the single quote was added the number flipped to an
exponential number.

Sub test()
'

'
' Keyboard Shortcut: Ctrl+Shift+Q
'

Dim irow1 As Long
Dim ws1 As Worksheet
Dim test As String

Set ws1 = Worksheets("Sheet1")
For irow1 = 1 To 50
'test = ws1.Cells(irow1, 3)
'MsgBox test
ws1.Cells(irow1, 6) = "'" & ws1.Cells(irow1, 3)
Next irow1

End Sub

Any ideas?

thanks




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,080
Default converting 16 digit number to text

Hi Troy:

Excel can only handle 15 significant digits and so will not store or display
16-digit numbers accurately, unless they are already stored as text. So I'm
not exactly clear on what your question is.

Regards,

Vasant.

"Troy" wrote in message
...
Hello,

I have a spreadsheet with a single column containing 25000 rows that have

a
16 digit number. I'd like to convert the .xls to csv and in doing that i
changed the number to an exponential number. So avoid this I came up with
the follwoing code that will add a ' to all the rows but it didn't work
because after the single quote was added the number flipped to an
exponential number.

Sub test()
'

'
' Keyboard Shortcut: Ctrl+Shift+Q
'

Dim irow1 As Long
Dim ws1 As Worksheet
Dim test As String

Set ws1 = Worksheets("Sheet1")
For irow1 = 1 To 50
'test = ws1.Cells(irow1, 3)
'MsgBox test
ws1.Cells(irow1, 6) = "'" & ws1.Cells(irow1, 3)
Next irow1

End Sub

Any ideas?

thanks




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default converting 16 digit number to text

Thanks for responding so quickly. The excel spreadsheet displays the 16
digit numbers just fine but as soon as I convert the file into csv it turns
the numbers into exponential numbers hence the exercise of adding a single
quote to all the numbers.



"Vasant Nanavati" <vasantn *AT* aol *DOT* com wrote in message
...
Hi Troy:

Excel can only handle 15 significant digits and so will not store or

display
16-digit numbers accurately, unless they are already stored as text. So

I'm
not exactly clear on what your question is.

Regards,

Vasant.

"Troy" wrote in message
...
Hello,

I have a spreadsheet with a single column containing 25000 rows that

have
a
16 digit number. I'd like to convert the .xls to csv and in doing that i
changed the number to an exponential number. So avoid this I came up

with
the follwoing code that will add a ' to all the rows but it didn't work
because after the single quote was added the number flipped to an
exponential number.

Sub test()
'

'
' Keyboard Shortcut: Ctrl+Shift+Q
'

Dim irow1 As Long
Dim ws1 As Worksheet
Dim test As String

Set ws1 = Worksheets("Sheet1")
For irow1 = 1 To 50
'test = ws1.Cells(irow1, 3)
'MsgBox test
ws1.Cells(irow1, 6) = "'" & ws1.Cells(irow1, 3)
Next irow1

End Sub

Any ideas?

thanks






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default converting 16 digit number to text

That probably won't affect what CSV does. You need to use low level file IO
and write your own macro to built the file would be my guess.

I haven't tested it, but CSV is pretty stubborn in how it acts.

http://support.microsoft.com/support...eio/fileio.asp
File Access with Visual Basic® for Applications
--
Regards,
Tom Ogilvy

Troy wrote in message
...
Thanks for responding so quickly. The excel spreadsheet displays the 16
digit numbers just fine but as soon as I convert the file into csv it

turns
the numbers into exponential numbers hence the exercise of adding a single
quote to all the numbers.



"Vasant Nanavati" <vasantn *AT* aol *DOT* com wrote in message
...
Hi Troy:

Excel can only handle 15 significant digits and so will not store or

display
16-digit numbers accurately, unless they are already stored as text. So

I'm
not exactly clear on what your question is.

Regards,

Vasant.

"Troy" wrote in message
...
Hello,

I have a spreadsheet with a single column containing 25000 rows that

have
a
16 digit number. I'd like to convert the .xls to csv and in doing that

i
changed the number to an exponential number. So avoid this I came up

with
the follwoing code that will add a ' to all the rows but it didn't

work
because after the single quote was added the number flipped to an
exponential number.

Sub test()
'

'
' Keyboard Shortcut: Ctrl+Shift+Q
'

Dim irow1 As Long
Dim ws1 As Worksheet
Dim test As String

Set ws1 = Worksheets("Sheet1")
For irow1 = 1 To 50
'test = ws1.Cells(irow1, 3)
'MsgBox test
ws1.Cells(irow1, 6) = "'" & ws1.Cells(irow1, 3)
Next irow1

End Sub

Any ideas?

thanks










Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Converting a 10 digit serial number to a date of mm/dd/yyyy Reenee Excel Discussion (Misc queries) 7 April 21st 23 08:10 PM
Help converting a 10 digit number 2223334444 to 222-333-4444 hmsteiner Excel Worksheet Functions 2 December 28th 09 05:31 PM
How to validate a cell to insert from 9 digit number to 13 digit number. ramulu via OfficeKB.com Excel Worksheet Functions 1 February 21st 07 02:32 PM
How to validate a cell to insert from 9 digit number to 13 digit number. ramulu Excel Worksheet Functions 1 February 21st 07 10:00 AM
converting 8-digit number to date DJ Excel Discussion (Misc queries) 6 June 12th 06 11:44 PM


All times are GMT +1. The time now is 02:25 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"