Quitar ultima palabra excel

Solicito de su colaboración con esto lo que necesito es quitarle a una cadena de texto la ultima palabra ejemplo: proceso productivo activo; solo quiero que quede proceso productivo, tengo varias cadenas de texto y no todas tienen el mismo largo ni la misma cantidad de espacios.

3 respuestas

Respuesta
2

En un rato te contesto

Por ejemplo si tenemos esa frase en la celda A1, posiciónate en esa celda y después ejecuta esta macro:

Sub ejemplo()
'por luismondelo
tope = Len(ActiveCell)
For x = 1 To tope + 1
extrae = Mid(ActiveCell, x, 1)
If extrae = " " Then
p = p + 1
lista = lista & "," & x
End If
Next
lista = Mid(lista, 2, Len(lista) - 1)
lista = Split(lista, ",")
posicion = lista(p - 1)
ActiveCell.Offset(0, 1).Value = Left(ActiveCell.Value, posicion - 1)
End Sub

hola experto

esto mismo no se puede realizar con una formula??

mil gracias

Lo podría hacer siempre y cuando la frase se componga del mismo número de palabras. Si no es así me quedo con la macro que además podríamos meter dentro de un bucle para hacerlo en una columna entera.

Respuesta
1

Con fórmula podría ser:

=ESPACIOS(SUSTITUIR(A1, ESPACIOS(DERECHA(SUSTITUIR(A1, " ", REPETIR(" ", LARGO(A1))), LARGO(A1))),""))

No importaría el numero de palabras, quitaría la ultima y solo dejaría un espacio sencillo entre las que queden. Funciona sólo si las palabras están separadas por espacios.

Saludos.

Mi separador de argumentos es la "," si utilizas otro cámbialo..

Respuesta

Ya vi que funciona bien tu Macro, Pero es posible que agarre todo el rango de la columna, desde la celda A1 a la A1044576, o en donde hago la modicacion

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas