Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/03/2007, 20:42
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Crear macro que: busque una palabra, la reemplace por otra y la ponga en negrita...

Te dejo la macro:
Código:
Sub BuscoReemplazoNegrita()
    WordSearch = InputBox(prompt:="Palabra a buscar:", Title:="Búsqueda y Reemplazo")
    If WordSearch = "" Then Exit Sub
    WordReplacement = InputBox(prompt:="Palabra de reemplazo:", Title:="Búsqueda y Reemplazo")
    If WordReplacement = "" Then Exit Sub
    
    On Error GoTo Fin
    Cells.Find(What:=WordSearch, After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False).Activate
    On Error GoTo 0
    
    Cells.Replace What:=WordSearch, Replacement:=WordReplacement, _
        LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
    
    FirstCell = ActiveCell.AddressLocal
    Do
        MyPos = InStr(1, ActiveCell, WordReplacement)
        While MyPos > 0
            ActiveCell.Characters(Start:=MyPos, Length:=Len(WordReplacement)).Font.FontStyle = "Negrita"
            MyPos = InStr(MyPos + 1, ActiveCell, WordReplacement)
        Wend
        Cells.Find(What:=WordReplacement, After:=ActiveCell, _
            LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
            SearchDirection:=xlNext, MatchCase:=False).Activate
    Loop Until ActiveCell.AddressLocal = FirstCell

Fin:
End Sub
Este código:
a) interrumpe su procedimiento si se selecciona "Cancelar" en cualquiera de los dos "InputBox".
b) tiene previsto salir del procedimiento si no se encuentra la palabra en cuestión.
c) tiene previsto varias ocurrencias de la palabra buscada en la misma celda.

Espero que te sirva.

Última edición por mrocf; 28/03/2007 a las 13:22