Excel - Extraer texto

 
Vista:

Extraer texto

Publicado por Gumer (6 intervenciones) el 03/08/2006 21:39:52
Estoy preparando un juego de palabras y no consigo encontrar la solución para extraer de una cadena de texto determinados caracteres que estén repetidos.

Ejemplo

"abcdefghi" Quiero extraer "ceg" y que resulte "abdfhi"

Los comandos de Excel se me han agotado. Sé que con Visual Basic se puede hacer fácilmente pero no doy con la secuencia adecuada ya que me viene un poco grande.

Agradecería mucho una ayuda.

Gumer
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Extraer texto

Publicado por Jose Luis (15 intervenciones) el 04/08/2006 09:12:32
Hola Gumer,

El código de la función que quieres ...

-------------inicio del código----------------
Function ExtChar(Quitar As String, EnCadena As String) As String
' Elimina los caracteres de Quitar en EnCadena
Dim NChars As Integer
Dim i As Integer
Dim Pos As Integer
Dim NewCadena As String
Dim QCaracter As String * 1
'
NChars = Len(Quitar)
NewCadena = EnCadena
For i = 1 To NChars
QCaracter = Mid$(Quitar, i, 1)
Pos = InStr(1, EnCadena, QCaracter)
While Pos <> 0
EnCadena = Left$(EnCadena, Pos - 1) & Mid$(EnCadena, Pos + 1)
Pos = InStr(1, EnCadena, QCaracter)
Wend
Next i
ExtChar = EnCadena
End Function
--------------------fin del código---------------

No está muy probada, es sensible a mayúsculas y minúsculas, y se podría añadir la posibilidad de que eliminase los caracteres a partir de cierta posición.

Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Extraer texto

Publicado por Gumer (6 intervenciones) el 26/08/2006 09:58:47
Muchas gracias. Ha sido de gran ayuda

Gumer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Extraer texto

Publicado por JuanC (792 intervenciones) el 04/08/2006 23:21:41
En Excel sería algo así:

=SUSTITUIR(SUSTITUIR(SUSTITUIR("abcdefghi";"c";"");"e";"");"g";"")

Otra versión de la función publicada en este mismo post...

Function ExtChar(Quitar As String, EnCadena As String) As String
' Elimina los caracteres de Quitar en EnCadena
Dim NChars As Integer
Dim i As Integer
Dim NewCadena As String
Dim QCaracter As String * 1
'
NChars = Len(Quitar)
NewCadena = EnCadena

For i = 1 To NChars
QCaracter = Mid$(Quitar, i, 1)
NewCadena = Replace(NewCadena, QCaracter, "")
Next i

ExtChar = NewCadena
End Function

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Extraer texto

Publicado por Gumer (6 intervenciones) el 26/08/2006 10:06:41
Muchas gracias por tu ayuda

Gumer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar