Garrett preguntó si había una forma de convertir rápidamente datos de texto en datos numéricos. Está importando un archivo de texto que utiliza espacios en miles (1 256) en lugar de una coma (1256).

Hay varias formas de abordar este problema. El primero es comprender el origen del problema. El archivo de texto probablemente se crea en un sistema que sigue un estándar métrico. Algunos países, siguiendo el estándar métrico, usan un espacio para un separador de miles en lugar de una coma. Por lo tanto, puede importar el archivo correctamente a Excel si cambia su configuración regional en Windows antes de iniciar Excel y realizar la importación. Puede cambiar la configuración regional mediante el subprograma de Opciones regionales en el Panel de control.

Si no desea cambiar la configuración regional de su sistema, existen otros enfoques que puede tomar. Después de que Excel importa la información, puede seleccionar el rango de celdas que contienen números y simplemente hacer una búsqueda y reemplazar. Está buscando un solo espacio y reemplazándolo por nada. Esto elimina el espacio por completo, y Excel entonces tratará el contenido de la celda como un número.

También puede utilizar una fórmula, si lo desea, para modificar los datos importados. Por ejemplo, si el número importado (que contiene un espacio) está en la celda A3, puede usar esta fórmula para eliminar el espacio:

=1*SUBSTITUTE(A3," ","")

Tenga en cuenta que hay un espacio entre el primer conjunto de comillas y nada entre el segundo conjunto de comillas.

Si tiene bastantes datos para convertir, o si tiene texto intercalado con celdas de «solo números», entonces puede decidir usar una macro para realizar la conversión. La siguiente macro funciona en una selección que realiza antes de llamarla. También verifica para asegurarse de que la celda, después de eliminar los espacios, contenga un valor numérico. Si no es así, no se realiza ninguna conversión.

Sub ClearSpacesIfNumeric()

Dim c As Range 'Cell under examination     Dim tmpText As String 'Cell contents without spaces     Dim i As Integer 'Simple counter

For Each c In Selection         tmpText = "" 'Initialize

'Check each character to see if it's a space         'If it isn't, add it to tmpText         For i = 1 To Len(c.Text)

If Mid(c.Text, i, 1) <> " " Then                 tmpText = tmpText & Mid(c.Text, i, 1)

End If         Next i

'tmpText is now the cell contents without spaces         'If tmpText is a number, assign its value to         'the current cell         If IsNumeric(tmpText) Then             c.Value = tmpText         End If     Next c End Sub

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2248) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Converting_Imported_Information_to_Numeric_Values ​​[Conversión de información importada en valores numéricos].