如何防止在 Excel 中输入特殊字符?
在某些情况下,我们希望单元格中仅允许输入字母或数字,并禁止输入特殊字符(例如 @#$%& 等)。Excel 是否提供在输入数据时自动阻止特殊字符的功能?
使用数据验证防止输入特殊字符
Excel 的数据验证功能可助您仅允许输入字母数字值。请按以下步骤操作:
1. 选择要防止输入特殊字符的单元格区域。
2. 然后单击数据> 数据验证> 数据验证,参见截图:

3. 在数据验证对话框中,单击设置选项卡,从自定义的允许下拉列表中选择,然后将此公式 =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) 输入到公式文本框中,参见截图:
注意:A1 表示您所选区域中的第一个单元格(从左到右)。

4. 然后单击确定关闭此对话框。现在,当您在已应用该选项的指定列中输入包含特殊字符的值时,将显示以下警告消息。

使用 VBA 代码防止输入特殊字符
以下 VBA 代码还能帮您在输入文本时有效防止特殊字符的录入。
1. 按住 ALT + F11 键,即可打开 Microsoft Visual Basic for Applications 窗口。
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 for Excel 防止输入特殊字符
实际上,只需拥有 Kutools for Excel——这款便捷多功能的工具,勾选一项即可通过其限制输入功能,快速限制在所选区域中输入特殊字符。
安装 Kutools for Excel 后,请按以下步骤操作:
1. 选择要防止输入特殊字符的区域,然后点击 Kutools > 限制输入 > 限制输入。参见截图:
2. 在限制输入对话框中,勾选禁止输入特殊字符选项。参见截图:
3. 单击确定后,将弹出一个对话框,提醒您应用此功能会移除数据验证;单击是,即可进入下一个对话框,该对话框将提示此功能已在所选区域生效。参见截图:
4. 单击确定关闭对话框。此后,当您尝试在所选区域输入特殊字符时,系统将弹出警告对话框。

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
演示:使用 Kutools for Excel 防止输入特殊字符
相关文章:
如何在 Excel 中防止列中出现重复条目,轻松保持数据整洁?
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for 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 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱