Saltar al contenido principal

¿Cómo evitar la entrada de caracteres especiales en Excel?

En algunos casos, solo queremos ingresar letras o números en las celdas y evitar escribir los caracteres especiales, como @ # $% & y así sucesivamente. ¿Existe alguna función en Excel para evitar que entren caracteres especiales cuando insertamos valores?

Evite la entrada de caracteres especiales con Validación de datos

Evite que ingresen caracteres especiales con el código VBA

Evite que ingresen caracteres especiales con Kutools para Excel buena idea3


Evite la entrada de caracteres especiales con Validación de datos

La validación de datos de Excel puede ayudarlo a permitirle ingresar solo los valores alfanuméricos. Haz lo siguiente:

1. Seleccione un rango en el que desea evitar que entren caracteres especiales.

2. Luego haga clic Datos > Validación de datos > Validación de datos, ver captura de pantalla:

doc-prevenir-personajes-1

3. En la Validación de datos cuadro de diálogo, haga clic en Ajustes pestaña, y elija Personalizado del desplegable Permitir lista desplegable, luego ingrese esta fórmula =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) en el Fórmula cuadro de texto, ver captura de pantalla:

Nota: A1 indica la primera celda de su rango seleccionado (de izquierda a derecha).

doc-prevenir-personajes-1

4. Luego haga clic OK para cerrar este cuadro de diálogo, y ahora cuando ingrese valores que contienen los caracteres especiales en la columna especificada, ha aplicado la opción, obtendrá el siguiente mensaje de advertencia.

doc-prevenir-personajes-1


Evite que ingresen caracteres especiales con el código VBA

El siguiente código VBA también puede ayudarlo a evitar los caracteres especiales al ingresar los valores de texto.

1. Mantenga pulsado el ALT + F11 llaves, y abre el Ventana de Microsoft Visual Basic para aplicaciones.

2. Luego elija su hoja de trabajo usada de la izquierda Proyecto Explorer, haga doble clic en él para abrir el Módulo, y luego copie y pegue el siguiente código VBA en el espacio en blanco Módulo:

Código VBA: evite que ingresen caracteres especiales en Excel

Private Const FCheckRgAddress As String = "A1:A100"
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140905
    Dim xChanged As Range
    Dim xRg As Range
    Dim xString As String
    Dim sErrors As String
    Dim xRegExp As Variant
    Dim xHasErr As Boolean
    Set xChanged = Application.Intersect(Range(FCheckRgAddress), Target)
    If xChanged Is Nothing Then Exit Sub
    Set xRegExp = CreateObject("VBScript.RegExp")
    xRegExp.Global = True
    xRegExp.IgnoreCase = True
    xRegExp.Pattern = "[^0-9a-z]"
    For Each xRg In xChanged
        If xRegExp.Test(xRg.Value) Then
            xHasErr = True
            Application.EnableEvents = False
            xRg.ClearContents
            Application.EnableEvents = True
        End If
    Next
    If xHasErr Then MsgBox "These cells had invalid entries and have been cleared:"
End Sub

doc-prevenir-personajes-1

Note: En el código anterior, puede cambiar el rango A1: A100 of Private Const FCheckRgAddress como cadena = "A1: A100" script a su propio rango que desea evitar los caracteres especiales.

3. Luego, guarde y cierre este código, y ahora, cuando ingrese valores de texto con algunos caracteres especiales en el rango A1: A100, su valor se borrará de inmediato y podrá recibir el siguiente mensaje de advertencia.

doc-prevenir-personajes-1


Evite que ingresen caracteres especiales con Kutools para Excel

De hecho, si tienes Kutools for Excel - una herramienta práctica y multifuncional, puede evitar rápidamente escribir caracteres especiales en una selección con su Evitar escribir utilidad por un cheque.

Kutools for Excel, con más de 300 funciones prácticas, facilita su trabajo. 

Después de instalar Kutools para Excel, haga lo siguiente :(Descarga gratis Kutools para Excel ahora!)

1. Seleccione una selección que desee evitar que se escriban caracteres especiales y haga clic en Kutools > Evitar escribir > Evitar escribir. Ver captura de pantalla:
doc prevenir caracteres 10

2. En el Evitar escribir diálogo, comprobar Evitar el tipo de caracteres especiales opción. Ver captura de pantalla:
doc prevenir caracteres 7

3. Hacer clic en Ok, y aparece un cuadro de diálogo para recordarle que eliminará la Validación de datos si aplica esta utilidad y hace clic en para ir al siguiente cuadro de diálogo, le recordará que la utilidad ha estado funcionando en la sección. ver captura de pantalla:
doc prevenir caracteres 8

4. Hacer clic en OK para cerrar el diálogo y, a partir de ahora, aparecerá un diálogo de advertencia cuando intente introducir un carácter especial en la selección.
doc prevenir caracteres 9

Propina.Si desea dejar de escribir valores duplicados en una columna, intente usar Kutools para Excel Evitar duplicados como se muestra en la siguiente captura de pantalla. Funciona completamente sin limitación en 30 días, descargue y obtenga una prueba gratuita ahora.

doc evitar duplicados doc kutools evitan escribir 2


Artículos relacionados:

¿Cómo evitar ingresar valores con espacios en Excel?

¿Cómo evitar entradas duplicadas en una columna en Excel?

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Pessoal, segue formul em portugês com a quantidade de caracteres limitada a 7:

=E(ÉNÚM(SOMARPRODUTO(LOCALIZAR(EXT.TEXTO(A1;LIN(INDIRETO("1:"&NÚM.CARACT(A1)));1);"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ")));NÚM.CARACT(A1)<8)
This comment was minimized by the moderator on the site
Excelente solucion. como agregas las comillas (") para que sean admitidas?
This comment was minimized by the moderator on the site
Hello herber,

Glad to help. Using the first method, you can use this formula in data validation:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

The CHAR function takes the ASCII value and returns the corresponding character value. The ASCII value for a double quote is 34. So a double quote will be allowed. Please have a try.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
How to repeat this in other columns?
This comment was minimized by the moderator on the site
When I use your VBA code in excel 2013 it will open up debug option and freezes
This comment was minimized by the moderator on the site
Hi, WilY, if it pops out a dialog as below screenshot shown, just click Yes then OK to enable the code. This issue appears in Excel 2016, too.
This comment was minimized by the moderator on the site
What if i need to prevent in a single cell typing certain characters in combination with length of the text?

For example, i want to prevent the text to be between 5-16 caharacters in comination with certain character prevention? Any advice?
This comment was minimized by the moderator on the site
Maybe you can try the Data Validation function to limit the text length. See screenshot:
This comment was minimized by the moderator on the site
The solution with Data Validation is almost perfect. But I'm able to put "*" character the such protected field. Any advice? Many thanks Pavel
This comment was minimized by the moderator on the site
Instead of SEARCH function try using FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))
This comment was minimized by the moderator on the site
how to set length limit ? i mean if i want to set only 12 character or number
This comment was minimized by the moderator on the site
Hello, raj,
To solve your problem, please apply the below formula:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Please have a try, hope it can help you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations