如何防止在 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 防止特殊字符輸入
相關文章:
最佳辦公效率工具
🤖 | Kutools AI 助手:基於智能執行方式革新數據分析:智能執行 | 生成代碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 函數… |
熱門功能:查找、標記重複值或識別重複項 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
高級 LOOKUP: 多條件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高級下拉列表:快速創建下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
列管理器: 添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較區域和列 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文本工具(添加文本、刪除特定字符、...) | 50+ 圖表 類型(甘特圖、...) | 40+ 實用 公式(基於生日計算年齡、...) | 19 個插入工具(插入QR碼、根據路徑插入圖片、...) | 12 個轉換工具(金額轉大寫、匯率轉換、...) | 7 個合併與分割工具(高級合併行、分割儲存格、...) | ... 還有更多 |
使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。 點擊這裡獲取您最需要的功能...
Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!