Extraer números entre paréntesis de una celda

Necesito extraer unos números entre paréntesis y con el signo del € pero no hay forma...
Todas las celdas tienen este formato:
Exclusive product - WQK (3737.77 € )
Y necesito los números 3737.77 para poder hacer cálculos (numérico)
¿Alguien me ayuda please?
Gracias!
{"lat":41.3768085657023,"lng":2.13134765625}

1 respuesta

Respuesta
1
Inserta un modulo (desde el editor de visual basic ALT+F11). En ese modulo pegas esta función:
Public Function extrae_numeros(cadena As String)
'extrae los digitos de una cadena de texto
' calvuch 01/08/2011
Dim i As Integer
Dim res As String
cadena = Replace(cadena, ".", ",")
cadena = Replace(cadena, "/", "")
cadena = Replace(cadena, "-", "")
For i = 1 To Len(cadena)
On Error Resume Next
If Asc(Mid(cadena, i, 1)) >= 44 And Asc(Mid(cadena, i, 1)) <= 57 Then res = res & Mid(cadena, i, 1)
DoEvents
Next
extrae_numeros = res
End Function
Grabas el libro y ya esta.
Esta función extrae solo los números que contenga la cadena de datos( celda indicada)
Se utiliza como cualquier función normal de excel.
Si tienes los datos en A1 y deseas dejar solo los números en celda B1, entonces en B1 seria : =extrae_numeros(A1)
No olvides CERRAR la pregunta
Hola! Es fantástica la fórmula, muchas gracias-
Me ha surgido una dificultad añadida:
Algunas celdas contienen más números, a veces entre paréntesis, a veces en algunos códigos de productos, un ejemplo:
Peine de tres púas Z4M3 (2314) - ( 3737.25 €)
Los datos que necesito son los numéricos que hay en todos los casos entre este símbolo "(" y este "€".
Gracias de nuevo,
Prueba ahora.
Public Function extrae_numeros(cadena As String)
'extrae los digitos de una cadena de texto
' calvuch 01/08/2011
Dim i As Integer
Dim res As String
Dim p As Integer
cadena = Replace(cadena, ".", ",")
cadena = Replace(cadena, "/", "")
cadena = Replace(cadena, "-", "")
p = InStr(1, cadena, "€")
Do Until p = 0
On Error Resume Next
If Mid(cadena, p, 1) = "(" Then i = p: Exit Do
p = (p - 1)
DoEvents
Loop
res = Trim(Mid(cadena, i, p))
res = Replace(res, "(", "")
res = Replace(res, ")", "")
res = Replace(res, "€", "")
extrae_numeros = res
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas