. 13.03.17 #Convertir un texto a valor/número
Buenas tardes, Carlos
Efectivamente, las importaciones suelen traer los números como texto.
Te compartiré un par de soluciones para resolverlo.
Para cualquiera de ellas, primero asegurate de eliminar cualquier separador de miles (reemplazandolos por "") y que el separador de decimales sea el que tienes en tu configuración
Hay una forma simple de convertirlos a valores en tres pasos:
- Copia cualquier celda vacía que tengas en tu hoja.
- Selecciona el rango de números a convertir
- Con botón derecho del mouse sobre ese rango, elije Pegado Especial y luego marca las opciones "Valores" y "SUMAR"
Listo. Con este simple procedimiento tendrás los textos convertidos a número.
Pero como solicitaste una macro, esta rutina depurará un listado desde la celda que le indiques al inicio del código:
Accede al Editor de VBA (Atajo: Alt + F11), allí inserta un módulo (Insertar-Módulo) y pega el siguiente código:
Sub Txt2Valor()
Dim Celda As Range
Inicelda = "A1" ' primera celda de rango a modificar
'
UltFila = Range(Left(Inicelda, 1) & Rows.Count).End(xlUp).Row
For Fila = 0 To UltFila
If IsNumeric(Val(Trim(Range(Inicelda).Offset(Fila).Value))) Then
On Error Resume Next
Range(Inicelda).Offset(Fila).Value = Val(Trim(Range(Inicelda).Offset(Fila).Value))
Err.Clear
On Error GoTo 0
End If
Next
End Sub
Coméntame si con estas soluciones resuelves lo que necesitas -y, en tal caso, agradeceré que califiques mi contribución- o escribeme de nuevo aquí, si necesitas más apoyo con esto.
Un abrazo
Fernando
.