Tengo una macro en Microsoft Excel 2000 que debe reemplazar a celdas con frases, no con palabras.

Tengo el siguiente problema:
Tengo una macro en Excel 2000 que reemplaza texto existente en celdas, pero en las celdas tengo frases, no palabras, con lo cual no me sirve la opción XLwhole. La otra opción que yo conozco es XLpart, pero no me distingue sal de salero o de colosal.
¿Cómo puedo hacer para que en la siguiente frase "la sal del salero es colosal" me encuentre tan sólo la palabra "sal"?
Espero haberme explicado con claridad. Gracias por atenderme

1 Respuesta

Respuesta
1
No se si seas el mismo usuario que me hizo la misma pregunta con la misma frase, pero si es así, te agradecería solo hacer una vez la pregunta, si no eres el mismo, te agradecería checar mis preguntas contestadas, aunque aquí te pongo la misma macro que hace el trabajo, gracias...
Option Explicit
Public Sub ReemplazarEspecial()
Dim rDatos As Range
Dim c As Range
Dim strBuscar As String
Dim strReemplazar As String
Dim strPalabras() As String
Dim co1 As Integer
Dim strValor As String
On Error Resume Next
strBuscar = "sal" 'texto a buscar
strReemplazar = "solar" 'texto a reemplazar
'Seleccionamos las celdas que sean contantes que sean texto
Set rDatos = Cells.SpecialCells(xlCellTypeConstants, 2)
If Not rDatos Is Nothing Then
For Each c In rDatos
strValor = Trim(c.Value) 'Obtenemos el valor de la celda
If strValor <> "" Then
strPalabras = Split(strValor, " ") 'Separamos en palabras
For co1 = LBound(strPalabras) To UBound(strPalabras)
If strPalabras(co1) = strBuscar Then
'Comprobamos que sea la palabra buscada y reemplazamos
strPalabras(co1) = strReemplazar
End If
Next co1
strValor = Join(strPalabras, " ") 'Unimos de nuevo las palabras
c.Value = strValor 'Reasignamos el valo a la celda
End If
Next c
Else
Err.Clear
MsgBox "No hay celdas a reemplazar"
End If
Set rDatos = Nothing
MsgBox "Proceso terminado"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas