Macro para quitar acentos en el texto Excel

Compatibilidad: Excel 365 2021 2019 2016

En ocasiones para unificar datos se requiere eliminar todos los acentos que incluye la hoja de cálculo, necesitando una macro para quitar acentos en el texto Excel.

Macro para quitar acentos en el texto Excel

En la columna A disponemos de una serie de nombres y apellidos y deseamos eliminar los acentos.

A
1Nombre
2José Rodríguez Sánchez
3Rosa Alcalá Almazán
4María Álvarez Alegría
5Miguel Báez Barragán
6Ana Dávila Escrivá
7Ramón Fábregas Galán
  • CREAR LA FUNCIÓN

  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde escribimos la función.

  4. Escribir el código:

    Public Sub QuitaAcentos()

    Dim ConAcento As Variant, SinAcento As Variant, i As Integer

    ConAcento = Array("á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú")

    SinAcento = Array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U")

    Application.ScreenUpdating = False

    For i = LBound(ConAcento) To UBound(ConAcento)

    ActiveSheet.Cells.Replace What:=ConAcento(i),_
    Replacement:=SinAcento(i), LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False

    Next i

    Application.ScreenUpdating = True

    End Sub

    También podemos reemplazar el código por el siguiente que incluye las letras vocales y consonantes que en diferentes idiomas incluyen acentos.

    Public Sub QuitaAcentosCompleto()

    Dim ConAcento As Variant, SinAcento As Variant, i As Integer

    ConAcento = Array("á", "à", "ä", "â", "ã", "å", "ç", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "ö", "õ", "ð", "š", "ú", "ù", "û", "ü", "ý", "ÿ", "ž", "Á", "À", "Ä", "Â", "Ã", "Å", "Ç", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Ö", "Õ", "Ð", "Š", "Ú", "Ù", "Û", "Ü", "Ý", "Ÿ", "Ž")

    SinAcento = Array("a", "a", "a", "a", "a", "a", "c", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "o", "s", "u", "u", "u", "u", "y", "y", "z", "A", "A", "A", "A", "A", "A", "C", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "O", "S", "U", "U", "U", "U", "Y", "Y", "Z")

    Application.ScreenUpdating = False

    For i = LBound(ConAcento) To UBound(ConAcento)

    ActiveSheet.Cells.Replace What:=ConAcento(i),_
    Replacement:=SinAcento(i), LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False

    Next i

    Application.ScreenUpdating = True

    End Sub

  5. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

  • EJECUTAR MACRO

  1. Ir a: Cinta de Opciones / Pestaña: Programador o Desarrollador (según la versión Excel) / Grupo: Código / Macros; O también, Atajo de teclado Alt + F8. Mostrará cuadro de diálogo de macro.

    Ventana Macro Excel, mostrando la macro QuitaAcentos
  2. Ir a: Macros en / Seleccionar: PERSONAL.XLSB

  3. Ir a: Nombre de la macro / Clic sobre la macro creada.

  4. Pulsar el botón Ejecutar. Reproducirá la macro.

    Hoja Excel mostrando rango con acentos y sin ellos
  5. Verificar como en el texto seleccionado se eliminan todos los acentos.

Para reproducir la macro se podrá insertar una acceso directo en la barra de acceso rápido o en la cinta de opciones.

Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

11 comentarios en “Macro para quitar acentos en el texto Excel

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.