Modificar una macro para cambiar los nombres

Vi una respuesta a una pregunta que respondiste y aquí subo la respuesta

Macro encontrar parte de texto y reemplazar celda entera

Os pido ayuda acerca de como elaborar una macro que me permita encontrar parte de una cadena de texto en una celda de un rango determinado (por ejemplo a2:a10000) y que se reemplace la celda entera que contenga dicha cadena de texto por una palabra definida.

Por ejemplo, buscar celdas que contengan dentro del texto los caracteres "elec", y reemplazar la celda entera por la palabra "compañía eléctrica".

¿Es posible?

SEGUIR

   

AÑADE TU RESPUESTA

Haz clic para RESPONDER o PEDIR MÁS INFORMACIÓN

Puedes DESCARTAR la pregunta si no es correcta o si no la puedes responder.

1 respuesta más de otro experto

respuesta de sebas torres

1

Sebas Torres

Sebas Torres, Nunca es tarde para aprender algo nuevo...

Con la siguiente macro, seleccionas un rango, ingresas un dato en el Imputbox y las celdas que contengan ese dato se remplazara la celda por "COMPAÑÍA ELÉCTRICA" saludos.

Sub ReemplazaPalabras()
Dim Celda As Range
Dim Palabra As String
    Palabra = InputBox("Que palabra desea buscar?", "INGRESE UN TEXTO")
     For Each Celda In Range("c2:g10000")
        posicion = InStr(Celda.Value, Palabra)
        If posicion > 0 Then
            xcel = Celda.Address
            Range(xcel).Value = "COMPAÑIA ELECTRICA"
        End If
    Next Celda
End Sub

el tema es que queda fijo compañia electrica. Se puede hacer lo mismo pero que yo ponga la palabra a remplazar

Porque por ejemplo tengo una nombre que es perez facundo roberto martin y yo quiero especifiacar que lo cambie a perez facundo y así con todos los nombre muy largos.

1 Respuesta

Respuesta
2

Prueba lo siguiente:

Sub Reemplazar()
  Dim sBuscar As Variant, sReemp As Variant
  sBuscar = InputBox("Nombre a buscar : ", "INGRESE UN TEXTO")
  If sBuscar = "" Then Exit Sub
  sReemp = InputBox("Reemplazar con : ", "INGRESE UN TEXTO")
  If sReemp = "" Then Exit Sub
  ActiveSheet.Cells.Replace What:=sBuscar, Replacement:=sReemp, LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas