如何防止在 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
注意:在上述代碼中,您可以更改 Private Const FCheckRgAddress As String = "A1:A100" 腳本中的範圍 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 防止特殊字符輸入
相關文章:
最佳 Office 辦公效率工具
🤖 | Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions… |
熱門功能:查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入... | |
高級 LOOKUP:多條件查找|多值查找|多表查找|模糊查找... | |
高級下拉列表:快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ... | |
列管理器: 添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ... | |
精選功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)... | |
前15 大工具集:12 款文本工具(添加文本,刪除特定字符,...)|50+ 種圖表 類型(甘特圖,...)|40+ 實用 公式(基於生日計算年齡,...)|19 款插入工具(插入QR码,按路徑插入圖片,...)|12 款轉換工具(金額轉大寫,匯率轉換,...)|7 款合併和分割工具(高級合併行,分割儲存格,...)| ...以及更多 |
利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...
Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆
- 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
- 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
- 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!