ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Convert Text to Numbers in a Macro (https://www.excelbanter.com/excel-worksheet-functions/109770-convert-text-numbers-macro.html)

denise

Convert Text to Numbers in a Macro
 
Hi! I have a data dump I am running several macros on. One macro I would
love to run is to convert a column of text numbers to numerical.

Excel does recognize them - I get the little green tirangle. But anyone who
uses Excel XP or 2003 (which I do) knows that formatting does NOT work.
Conversion must be done using that Smart Tag option.

However, the smart tag action does not get recorded in a macro. Microsoft
gave us a wonderful new feature and then didn't let us record it and make
life alittle easier.

So, if anyone can help me find a way to get this action recorded into the
macro, I would be forever grateful and even have monks pray for you.


Allllen

Convert Text to Numbers in a Macro
 
How long this takes will depend how many cells you have with values in.
It took me 25 seconds to process for one column with all 65536 rows, on a p4
1800 with 500mb memory. You can cut that by using For each rg in
Range("A1:A1000"), for example.

Sub TryThis()

Application.ScreenUpdating = False
Dim rg As Range

For Each rg In Range("A:A")

If rg.Value < "" Then
rg.NumberFormat = "General"
rg.Value = rg.Value
End If

Next rg
Application.ScreenUpdating = True

End Sub

I am looking forward to hearing those monks.
Alternatively you could be very nice and give me a little green tick :-)
--
Allllen


"Denise" wrote:

Hi! I have a data dump I am running several macros on. One macro I would
love to run is to convert a column of text numbers to numerical.

Excel does recognize them - I get the little green tirangle. But anyone who
uses Excel XP or 2003 (which I do) knows that formatting does NOT work.
Conversion must be done using that Smart Tag option.

However, the smart tag action does not get recorded in a macro. Microsoft
gave us a wonderful new feature and then didn't let us record it and make
life alittle easier.

So, if anyone can help me find a way to get this action recorded into the
macro, I would be forever grateful and even have monks pray for you.


Bernie Deitrick

Convert Text to Numbers in a Macro
 
Denise,

Instead of doing it setpwise, you can do it all at once. The macro below will convert all text
string numbers in column A of the active sheet to actual numbers.

It should only take a blink to do it. It just requires that row 1 not be filled all the way to
column IV... You can change the format from general to a specific number format if you want to
format the text numbers in a specific way:

..NumberFormat = "0.00"

to show two decimal places, for example....

HTH,
Bernie
MS Excel MVP

Sub ConvertTextNumbersToNumbers()
Dim mySel As Range
Dim myCell As Range

Set mySel = Selection

Set myCell = Range("IV1").End(xlToLeft)(1, 2)

On Error Resume Next
With myCell
..NumberFormat = "general"
..Value = 1
..Copy
Range("A:A").SpecialCells(xlCellTypeConstants, 2).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlMultiply
..Clear
End With

mySel.Select

End Sub


"Denise" wrote in message
...
Hi! I have a data dump I am running several macros on. One macro I would
love to run is to convert a column of text numbers to numerical.

Excel does recognize them - I get the little green tirangle. But anyone who
uses Excel XP or 2003 (which I do) knows that formatting does NOT work.
Conversion must be done using that Smart Tag option.

However, the smart tag action does not get recorded in a macro. Microsoft
gave us a wonderful new feature and then didn't let us record it and make
life alittle easier.

So, if anyone can help me find a way to get this action recorded into the
macro, I would be forever grateful and even have monks pray for you.




denise

Convert Text to Numbers in a Macro
 
Expect a bucket load of prayers :o))))))))

"Allllen" wrote:

How long this takes will depend how many cells you have with values in.
It took me 25 seconds to process for one column with all 65536 rows, on a p4
1800 with 500mb memory. You can cut that by using For each rg in
Range("A1:A1000"), for example.

Sub TryThis()

Application.ScreenUpdating = False
Dim rg As Range

For Each rg In Range("A:A")

If rg.Value < "" Then
rg.NumberFormat = "General"
rg.Value = rg.Value
End If

Next rg
Application.ScreenUpdating = True

End Sub

I am looking forward to hearing those monks.
Alternatively you could be very nice and give me a little green tick :-)
--
Allllen


"Denise" wrote:

Hi! I have a data dump I am running several macros on. One macro I would
love to run is to convert a column of text numbers to numerical.

Excel does recognize them - I get the little green tirangle. But anyone who
uses Excel XP or 2003 (which I do) knows that formatting does NOT work.
Conversion must be done using that Smart Tag option.

However, the smart tag action does not get recorded in a macro. Microsoft
gave us a wonderful new feature and then didn't let us record it and make
life alittle easier.

So, if anyone can help me find a way to get this action recorded into the
macro, I would be forever grateful and even have monks pray for you.



All times are GMT +1. The time now is 11:29 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com