MACROS DE EXCEL

Reemplazar caracteres frecuentes (macro)

Reemplazar caracteres frecuentes (macro)

Reemplazar caracteres frecuentes (macro)

 

Tal como se ejemplifica en el video, podemos utilizar una macro para definir reemplazar los caracteres dentro del rango B3:B11 en la Hoja1 según el siguiente cuadro:

ANTESDESPUÉS
áa
ée
íi
óo
úu
üu
(texto)texto
texto1-texto2texto1 texto2
3ero

 

La instrucción de la macro es la siguiente:

Sub SelectReplace()

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="á", replacement:="a", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="é", replacement:="e", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="í", replacement:="i", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="ó", replacement:="o", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="ú", replacement:="u", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="ü", replacement:="u", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="(", replacement:="", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:=")", replacement:="", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="-", replacement:=" ", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Worksheets("Hoja1").Range("B3:B11").Select
Selection.REPLACE what:="°", replacement:="ero", lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

MsgBox "OK"
End Sub

 

En función de los caracteres que necesitemos reemplazar, vamos a agregar o eliminar los «bloques» dentro de la instrucción que precisemos, donde Worksheets apunta a la hoja objetivo, Range define el rango de aplicación de la macro, what indica el carácter o grupo de caracteres a buscar y replacement indica el carácter o grupo de caracteres a reemplazar por.

 

Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.

¿No sabés como instalar esta macro? ¡No te preocupes!  Aquí está la solución:

Salvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores.