Quitar comas a los números para que sean considerados mayores a mil y no decimales

Estoy importando una tabla desde una pagina web, y los valores mayores a 1000 vienen con coma en vez de puntos. Es posible quitar la coma, ¿para qué Excel los reconozca como números mayores a 1000 y no como decimales?

Ej. Numero exportado 1.560

Excel entiende 1,56

1 respuesta

Respuesta
1

Prueba a usar una fórmula SUSTITUIR (en Excel 2010)

Si el dato a procesar esta en la celda A2, la fórmula sería

=SUSTITUIR(A2,",","")*1

(La multiplicación por 1 al final se hace para que Excel tome el dato como número y no como un texto que representa un número)

Después de esto, seria copiar y pegar los valores, y estaría solucionado.

Gracias, es lo que necesitaba.

Pero es posible que se haga mediante una macro.
Que tome los valores y lo sustituya por este nuevo valor, ya que es un rango grande de valores, y esta tabla debo dejarla para que la ocupe alguien mas, y seria mas elegante con una macro que con esta formula y generando un duplicado.

Gracias por la rapidez de tu respuesta

Te dejo el código que lo hace de forma automática, NO HACE COPIAS, sino que reemplaza los valores en cada una de las celdas. Quedo pendiente de tu éxito.

Debes iniciar la macro luego de seleccionar el rango que deseas procesar

Saludos

Sub ReemplazarComas()
On Error Resume Next
''Creada por FSerrano en 120207
''para garato en TodoExpertos.com
''Reemplaza el caracter especificiado en el rango seleccionado, para validar los datos como números
'Captura el caracter a reemplazar, por defecto es la coma (,)
escoger = InputBox("Cuál es el caracter que desea reemplazar", "CARACTER A REEMPLAZAR", ",")
'Captura el caracter que reemplaza, por defecto es ninguno
reemplazo = InputBox("Por cuál caracter desea reemplazarlo?", "NUEVO CARACTER", "")
'Ejecuta el ciclo para cada uno de los valores en el rango seleccionado y multiplica por 1 para validar como número
For Each cell In Selection
    cell.Value = Application.WorksheetFunction.Substitute(cell.Value,escoger, reemplazo) * 1
Next cell
End Sub

NO OLVIDES FINALIZAR Y PUNTUAR LA PREGUNTA.

Muchas gracias amigo!

Por ultimo, es posible que solo haciéndole click a un botón la macro se ejecute sola?

Ya sea que ella misma elija el Rango "B:L" o que si esto la sobrecarga mucho hacer "B5:L1000".

Muchas gracias nuevamente

Si se puede asignar la macro a un botón, para esto debes crear cualquier forma o 'dibujo' (Insertar forma, click derecho en la forma, asignar macro).

Y para que seleccione el rango que mencionas, debes reemplazar la fila

For Each cell in Selection

Por esta otra

For Each cell in Activesheet.Range("B5:L1000")

Con esto, ya deberías lograr automatizar gran parte del proceso, quedo pendiente de tu éxito. Saludos

No olvides finalizar y puntuar la pregunta


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas