Skip to main content

如何防止在 Excel 中輸入特殊字符?

Author: Xiaoyang Last Modified: 2025-05-12

在某些情況下,我們只想在單元格中輸入字母或數字,並防止輸入特殊字符,例如 @#$%& 等。Excel 是否有函數可以在插入值時防止輸入特殊字符呢?

使用資料驗證防止特殊字符輸入

使用 VBA 代碼防止特殊字符輸入

使用 Kutools for Excel 防止特殊字符輸入 good idea3


使用資料驗證防止特殊字符輸入

Excel 的資料驗證功能可以幫助您只允許輸入字母數字值。請按照以下步驟操作:

1. 選擇一個您想防止特殊字符輸入的區域。

2. 然後點擊 資料 > 資料驗證 > 資料驗證,參見截圖:

A screenshot of Data Validation option in Excel ribbon

3. 在資料驗證對話框中,點擊 設定 標籤,並從 允許 下拉列表中選擇 自訂,然後在 公式文本框中輸入此公式 =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),參見截圖:

注意:A1 表示所選區域的第一個單元格(從左到右)。

A screenshot of the Data Validation formula for restricting special characters in Excel

4. 然後點擊 確定 關閉該對話框,現在,當您嘗試在應用了該選項的指定列中輸入包含特殊字符的值時,將收到以下警告消息。

A screenshot showing a warning when entering special characters in Excel


使用 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

A screenshot showing VBA code for restricting special characters in Excel

注意:在上述代碼中,您可以更改 Private Const FCheckRgAddress As String = "A1:A100" 腳本中的範圍 A1: A100 為您想要防止特殊字符輸入的範圍。

3. 然後保存並關閉此代碼。現在,當您在範圍 A1:A100 中輸入帶有特殊字符的文字值時,輸入內容將立即被清除,並且您會收到以下警告消息。

A screenshot of a warning dialog when attempting to enter special characters in Excel


使用 Kutools for Excel 防止特殊字符輸入

實際上,如果您有 Kutools for Excel -- 一款方便且多功能的工具,您可以通過其 限制輸入 功能快速防止在選定區域內輸入特殊字符,只需勾選即可。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 選擇您要防止輸入特殊字符的區域,然後點擊 Kutools > 限制輸入 > 限制輸入。參見截圖:
A screenshot of Kutools Prevent Typing option in Excel

2. 在 限制輸入 對話框中,勾選 禁止輸入特殊字符 選項。參見截圖:
A screenshot of the Kutools Prevent Typing dialog

3. 點擊 確定,彈出一個對話框提醒您如果應用此功能將移除資料驗證,點擊 進入下一個對話框,它將提醒您該功能已在該部分生效。參見截圖:
A screenshot of confirmation dialog for Kutools Prevent Typing in Excel

4. 點擊 確定 關閉對話框,從現在開始,當您嘗試在選定區域內輸入特殊字符時,將彈出警告對話框。
A screenshot of warning when entering special characters in Excel

提示:如果您想阻止在一列中輸入重複值,請嘗試使用 Kutools for Excel 的 防止重複項 功能,如下圖所示。立即下載並免費試用。

A screenshot of Kutools Prevent Duplicate option in Excel

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取

演示:使用 Kutools for Excel 防止特殊字符輸入

Kutools for Excel:超過 300 種實用工具任您使用!永久免費享受AI功能!立即下載!

相關文章:

如何防止在 Excel 中輸入帶空格的值?

如何防止在 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%,每天為您減少數百次鼠標點擊!