如何在 Excel 中隱藏特定的錯誤值?
假設您的 Excel 工作表中有一些不需要修正但需要隱藏的錯誤值。針對這個問題,我們已經討論過如何隱藏 Excel 中的所有錯誤值,那麼如果您只想隱藏特定的錯誤值該怎麼辦呢?在本教程中,我們將向您展示以下三種方法來完成此操作。
使用 VBA 將文字變為白色以隱藏多個特定的錯誤值
我們創建了兩個 VBA 程式碼,幫助您通過將指定錯誤的字體顏色變為白色,快速隱藏選定區域或多個工作表中的多個特定錯誤值。請按照以下步驟操作,並根據需要運行程式碼。
1. 在您的 Excel 中,按下「Alt」+「F11」鍵以打開「Microsoft Visual Basic for Applications」窗口。
2. 點擊「插入」>「模組」。然後將以下任一 VBA 程式碼複製到「模組」窗口中。
VBA 程式碼 1:隱藏選定範圍內的多個特定錯誤值
Sub HideSpecificErrors_SelectedRange()
'Updated by ExtendOffice 20220824
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg As Range
Dim xURg As Range
Dim xFindRgs As Range
Dim xFAddress As String
Dim xBol As Boolean
Dim xJ
xArrFinStr = Array("#DIV/0!”, “#N/A”, “#NAME?") 'Enter the errors to hide, enclose each with double quotes and separate them with commas
On Error Resume Next
Set xRg = Application.InputBox("Please select the range that includes the errors to hide:", "Kutools for Excel", , Type:=8)
If xRg Is Nothing Then Exit Sub
xBol = False
For Each xARg In xRg.Areas
Set xFindRg = Nothing
Set xFindRgs = Nothing
Set xURg = Application.Intersect(xARg, xARg.Worksheet.UsedRange)
For Each xFindRg In xURg
For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
If xFindRg.Text = xArrFinStr(xJ) Then
xBol = True
If xFindRgs Is Nothing Then
Set xFindRgs = xFindRg
Else
Set xFindRgs = Application.Union(xFindRgs, xFindRg)
End If
End If
Next
Next
If Not xFindRgs Is Nothing Then
xFindRgs.Font.ThemeColor = xlThemeColorDark1
End If
Next
If xBol Then
MsgBox "Successfully hidden."
Else
MsgBox "No specified errors were found."
End If
End Sub
注意:在第 12 行的程式碼片段 "xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?")" 中,您應該將 "#DIV/0!", "#N/A", "#NAME?" 替換為您想要隱藏的實際錯誤,記住每個值需要用雙引號括起來並用逗號分隔。
VBA 程式碼 2:跨多個工作表隱藏多個特定錯誤值
Sub HideSpecificErrors_WorkSheets()
'Updated by ExtendOffice 20220824
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg, xFindRgs As Range
Dim xWShs As Worksheets
Dim xWSh As Worksheet
Dim xWb As Workbook
Dim xURg As Range
Dim xFAddress As String
Dim xArr, xArrFinStr
Dim xI, xJ
Dim xBol As Boolean
xArr = Array("Sheet1", "Sheet2") 'Names of the sheets where to find and hide the errors. Enclose each with double quotes and separate them with commas
xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?") 'Enter the errors to hide, enclose each with double quotes and separate them with commas
'On Error Resume Next
Set xWb = Application.ActiveWorkbook
xBol = False
For xI = LBound(xArr) To UBound(xArr)
Set xWSh = xWb.Worksheets(xArr(xI))
Set xFindRg = Nothing
xWSh.Activate
Set xFindRgs = Nothing
Set xURg = xWSh.UsedRange
Set xFindRgs = Nothing
For Each xFindRg In xURg
For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
If xFindRg.Text = xArrFinStr(xJ) Then
xBol = True
If xFindRgs Is Nothing Then
Set xFindRgs = xFindRg
Else
Set xFindRgs = Application.Union(xFindRgs, xFindRg)
End If
End If
Next
Next
If Not xFindRgs Is Nothing Then
xFindRgs.Font.ThemeColor = xlThemeColorDark1
End If
Next
If xBol Then
MsgBox "Successfully hidden."
Else
MsgBox "No specified errors were found."
End If
End Sub
- 在第 15 行的程式碼片段 "xArr = Array("Sheet1", "Sheet2")" 中,您應該將 "Sheet1", "Sheet2" 替換為您想要隱藏錯誤的工作表名稱。記住每個工作表名稱需要用雙引號括起來並用逗號分隔。
- 在第 16 行的程式碼片段 "xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?")" 中,您應該將 "#DIV/0!", "#N/A", "#NAME?" 替換為您想要隱藏的實際錯誤,記住每個錯誤需要用雙引號括起來並用逗號分隔。
3. 按下「F5」鍵運行 VBA 程式碼。
4. 如下所示的對話框彈出,告訴您指定的錯誤值已被隱藏。點擊「確定」關閉對話框。
5. 指定的錯誤值已立即被隱藏。
使用「錯誤條件嚮導」功能將特定的錯誤值替換為其他值
如果您不熟悉 VBA 程式碼,Kutools for Excel 的「錯誤條件嚮導」功能可以幫助您輕鬆找到所有錯誤值、所有 #N/A 錯誤或除 #N/A 以外的任何錯誤,並將它們替換為您指定的其他值,請繼續閱讀以了解如何完成此操作。
1. 在「Kutools」選項卡的「公式」組中,點擊「更多」>「錯誤條件嚮導」。
- 在「區域」框中,點擊範圍選擇按鈕選擇包含您想隱藏的錯誤的範圍。 注意:若要在整個工作表中搜索,請點擊工作表標籤。
- 在「錯誤類型」部分,指定要隱藏哪些錯誤值。
- 在「錯誤顯示」部分,選擇您希望如何替換這些錯誤的方式。

3. 點擊「確定」。指定的錯誤值將以您選擇的選項顯示。
Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取
使用公式將特定錯誤替換為其他值
要替換特定的錯誤值,Excel 的 IF、IFNA 和 ERROR.TYPE 函數可以幫您忙。但首先,您應該知道每個錯誤值對應的數字代碼。
# 錯誤 | 公式 | 返回值 |
#NULL! | =ERROR.TYPE(#NULL!) | 1 |
#DIV/0! | =ERROR.TYPE(#DIV/0!) | 2 |
#VALUE! | =ERROR.TYPE(#VALUE!) | 3 |
#REF! | =ERROR.TYPE(#REF!) | 4 |
#NAME? | =ERROR.TYPE(#NAME?) | 5 |
#NUM! | =ERROR.TYPE(#NUM!) | 6 |
#N/A | =ERROR.TYPE(#N/A) | 7 |
#GETTING_DATA | =ERROR.TYPE(#GETTING_DATA) | 8 |
#SPILL! | =ERROR.TYPE(#SPILL!) | 9 |
#UNKNOWN! | =ERROR.TYPE(#UNKNOWN!) | 12 |
#FIELD! | =ERROR.TYPE(#FIELD!) | 13 |
#CALC! | =ERROR.TYPE(#CALC!) | 14 |
其他錯誤 | =ERROR.TYPE(123) | #N/A |
例如,您有一個如上所示的表格。要將「#DIV/0!」錯誤替換為文本字符串「Divide By Zero Error」,您應該首先找到此錯誤的代碼,即「2」。然後在單元格「B2」中應用以下公式,並向下拖動填充柄以將公式應用於下方的單元格:
=IF(IFNA(ERROR.TYPE(A2),A2)=2,"Divide By Zero Error",A2)
- 在公式中,您可以將錯誤代碼「2」替換為對應於其他錯誤值的代碼。
- 在公式中,您可以將文本字符串「Divide By Zero Error」替換為其他文本消息,或者如果想用空白單元格替換錯誤,則替換為「」。
相關文章
當您處理 Excel 工作表時,有時候您可能會發現一些錯誤值,例如 #DIV/0、#REF、#N/A 等等,這些都是由公式錯誤引起的。現在,您希望在工作表中隱藏所有這些錯誤值,如何在 Excel 中快速輕鬆地解決這個問題呢?
如何在 Excel 中將 #DIV/0! 錯誤更改為可讀的消息?
有時候,當我們使用公式在 Excel 中進行計算時,會顯示一些錯誤消息。例如,在這個公式 =A1/B1 中,如果 B1 是空的或包含 0,公式將顯示 #DIV/0 錯誤。有沒有辦法讓這些錯誤消息更清晰易讀,或者如果您想用其他消息替換這些錯誤,該怎麼做呢?
當您引用另一個單元格時,如果引用的行已被刪除,該單元格將顯示 #REF 錯誤,如下方截圖所示。現在我將談談如何避免 #ref 錯誤以及在刪除行時自動引用下一個單元格。
如果您在工作表中創建公式,不可避免地會出現一些錯誤值。您能否一次突出顯示工作表中包含錯誤值的所有單元格?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%,每天為您減少數百次鼠標點擊!