Steven tiene una hoja de trabajo que tiene mucho texto. En las celdas de la columna A, quiere eliminar todo lo que pueda ocurrir antes de una determinada secuencia de caracteres, como todo antes de = XX =. Puede haber varias instancias de estos personajes en cada celda, pero Steven solo quiere eliminar todo antes de la primera aparición.

Una forma de hacer esto es usar una fórmula. Por ejemplo, la siguiente fórmula evaluará lo que esté en la celda A1 y simplemente devolverá todo hasta los caracteres = XX =. Si los caracteres no se encuentran en la celda, se devuelve toda la celda:

=RIGHT(A1,IF(ISERROR(FIND("=XX=",A1,1)), LEN(A1),LEN(A1)-FIND("=XX=",A1,1)+1))

Si desea, en cambio, no devolver la primera aparición de = XX =, todo lo que necesita hacer es cambiar el +1 cerca del final de la fórmula a -3.

Si prefiere una solución basada en macros, puede utilizar una rutina como la siguiente. Examina todas las celdas que están seleccionadas actualmente y luego elimina todo antes de la secuencia = XX =.

Sub DeleteToSequence()

Dim rCell As Range     Dim sSeq As String     Dim x As Long

sSeq = "=XX="

For Each rCell In Selection         x = InStr(rCell.Value, sSeq)

If x > 0 Then             rCell.Value = Mid(rCell, x)

End If     Next

Set rCell = Nothing End Sub

Debe tener en cuenta que esta macro puede causar algunos errores, especialmente cuando lo que está buscando comienza con un signo igual (como en = XX =).

Cuando una cadena que comienza con un signo igual se vuelve a introducir en la celda, obtendrá un #NAME? error porque Excel intenta analizar la celda como si contuviera una fórmula.

Si desea eliminar todo a lo largo de la secuencia de caracteres, use esta línea en el medio de la rutina:

rCell.Value = Mid(rCell, x + Len(sSeq))

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (7696) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Deleting_Everything_Up_to_a_Character_Sequence [Eliminando todo hasta una secuencia de caracteres].