Как запретить ввод специальных символов в Excel?
В некоторых случаях требуется, чтобы в ячейки вводились только буквы или цифры, а ввод специальных символов — таких как @, #, $, %, & и т.д. — был ограничен. Существуют ли в Excel функции, предотвращающие ввод таких специальных символов при добавлении значений?
Запрет ввода специальных символов с помощью проверки данных
Запрет ввода специальных символов с помощью кода VBA
Запрет ввода специальных символов с помощью Kutools для Excel ![]()
Запрет ввода специальных символов с помощью проверки данных
Проверка данных в Excel позволяет разрешить ввод только буквенно-цифровых значений. Выполните следующие действия:
1. Выделите диапазон, в который запрещён ввод специальных символов.
2. Затем нажмите Данные > Проверка данных > Проверка данных. См. снимок экрана:

3. В диалоговом окне Проверка данных перейдите на вкладку Параметры, выберите значение Другой в раскрывающемся списке Тип данных и введите формулу =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&,LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) в поле Формула. См. снимок экрана:
Примечание: A1 обозначает первую ячейку в вашем выбранном диапазоне (слева направо).

4. Затем нажмите OK, чтобы закрыть это диалоговое окно. Теперь, когда вы вводите значения со специальными символами в указанный столбец, к которому применена эта настройка, появится следующее предупреждение.

Запрет ввода специальных символов с помощью кода VBA
Следующий код VBA также поможет вам избежать ввода специальных символов при добавлении текстовых значений.
1. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic для приложений.
2.Затем в Обозревателе проектовслева выберите нужный лист, дважды щелкните по нему, чтобы открыть модуль, и скопируйте приведенный ниже код VBA в пустой модуль:
Код VBA: запрет ввода специальных символов в 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

Примечание: в приведённом выше коде вы можете заменить диапазон A1:A100 в строке Private Const FCheckRgAddress As String = "A1:A100" на свой собственный — именно в этом диапазоне будет запрещён ввод специальных символов.
3. Сохраните и закройте этот код. Теперь при вводе текстовых значений, содержащих специальные символы, в диапазон A1:A100 ввод будет немедленно очищен, и появится следующее предупреждение.

Запрет ввода специальных символов с помощью Kutools для Excel
На самом деле, если у вас установлен Kutools для Excel — удобный многофункциональный инструмент, вы можете быстро ограничить ввод специальных символов в выделенном диапазоне с помощью утилиты Ограничить ввод, установив всего один флажок.
После установки Kutools для Excel выполните следующие действия:
1. Выделите диапазон, в который нужно запретить ввод специальных символов, и нажмите Kutools > Ограничить ввод > Ограничить ввод. См. снимок экрана:
2. В диалоговом окне Ограничить ввод установите флажок Запретить ввод специальных символов. См. снимок экрана:
3. Нажмите Ok, после чего появится диалоговое окно с напоминанием, что при применении этой утилиты будет удалена проверка данных. Нажмите Да, чтобы перейти к следующему диалоговому окну, в котором сообщается, что утилита уже работает в этом разделе. См. снимок экрана:
4. Нажмите OK, чтобы закрыть диалоговое окно. Теперь при попытке ввести специальный символ в выделенный диапазон будет появляться предупреждающее сообщение.

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас
Демонстрация: запрет ввода специальных символов с помощью Kutools для Excel
Связанные статьи:
Как запретить ввод значений, содержащих пробелы, в Excel?
Как предотвратить повторяющиеся записи в столбце и легко поддерживать порядок в данных Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек