Как да скрия конкретни стойности на грешка в Excel?
Да приемем, че във вашия работен лист в Excel има стойности за грешка, които не е необходимо да коригирате, а да скриете. За да се справим с проблема, за който говорихме как да скриете всички стойности за грешки в Excel, сега, какво ще стане, ако искате да скриете само конкретни стойности на грешка? В този урок ще ви покажем как да свършите тази работа по три начина по-долу.
Скрийте множество специфични стойности за грешка, като превърнете текста в бял с VBA
Създадохме два VBA кода, за да ви помогнем бързо да скриете множество специфични стойности на грешки в избрания диапазон или в множество работни листове, като промените цвета на шрифта на посочените грешки в бяло. Моля, следвайте стъпките по-долу и стартирайте кода според вашите нужди.
1. Във вашия Excel натиснете Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. кликване Поставете > Модули. След това копирайте някой от следните VBA кодове в Модули прозорец.
VBA код 1: Скрийте множество специфични стойности на грешка в избрания диапазон
'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
Забележка: Във фрагмента xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?") в 12-ти ред трябва да замените "#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
- Във фрагмента xArr = масив ("Лист1", "Лист2") в 15-ти ред трябва да замените "Лист1", "Лист2" с действителните имена на листовете, където искате да скриете грешките. Не забравяйте да оградите имената на всеки лист с двойни кавички и да ги разделите със запетаи.
- Във фрагмента xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?") в 16-ти ред трябва да замените "#DIV/0!", "#N/A", "#NAME?" с действителната грешка, която искате да скриете, не забравяйте да оградите всяка грешка с двойни кавички и да ги разделите със запетаи.
3. Натиснете F5 за да стартирате VBA кода. Забележка: Ако сте използвали VBA код 1, ще се появи диалогов прозорец с молба да изберете диапазона, в който да намерите и изтриете стойностите за грешка. Можете също да щракнете върху раздел на лист, за да изберете целия лист.
4. Диалоговият прозорец, както е показано по-долу, изскача, като ви казва, че посочените стойности за грешка са били скрити. Кликнете OK за да затворите диалоговия прозорец.
5. Посочените стойности за грешка са били скрити веднага.
Заменете конкретни стойности за грешка с други стойности с функцията Error Condition Wizard
Ако не сте запознати с VBA кода, Kutools за Excel's Съветник за състояние на грешка функция може да ви помогне лесно да намерите всички стойности на грешката, всички #N/A грешки или всякакви грешки с изключение на #N/A и да ги замените с други стойности, които посочите , моля, прочетете нататък, за да разберете как да свършите тази работа.
1. На Kutools в раздела Формула група, щракнете върху Повече > Съветник за състояние на грешка.
- в Обхват щракнете върху бутона за избор на диапазон вдясно, за да посочите диапазона, който съдържа грешки за скриване. Забележка: За да търсите в целия лист, щракнете върху раздела на листа.
- в Видове грешки раздел, укажете кои стойности за грешка да се скрият.
- в Показва се грешка изберете начин, с който искате да замените грешките.
3. кликване Ok. Посочените стойности за грешка се показват като избраната от вас опция.
Забележка: За да използвате Съветник за състояние на грешка функция, трябва да имате Kutools за Excel инсталиран на вашия компютър. Ако нямате инсталиран Kutools, щракнете тук, за да изтеглите и инсталирате. Професионалната добавка за Excel предлага 30-дневен безплатен пробен период без ограничения.
Заменете конкретна грешка с други стойности с формула
За да замените конкретна стойност на грешка, тази на Excel IF, IFNA, и ГРЕШКА.ТИП функциите могат да ви направят услуга. Но първо трябва да знаете съответния цифров код на всяка стойност на грешка.
# Грешка | Формула | Връщане |
#НУЛА! | =ГРЕШКА.ТИП(#NULL!) | 1 |
#DIV/0! | =ГРЕШКА.ТИП(#DIV/0!) | 2 |
#VALUE! | =ГРЕШКА.ТИП(#СТОЙНОСТ!) | 3 |
#REF! | =ГРЕШКА.ТИП(#РЕФ!) | 4 |
#NAME? | =ГРЕШКА.ТИП(#ИМЕ?) | 5 |
#БРОЙ! | =ГРЕШКА.ТИП(#NUM!) | 6 |
# N / A | =ГРЕШКА.ТИП(#N/A) | 7 |
#ПОЛУЧАВАНЕ_ДАННИ | =ГРЕШКА.ТИП(#ПОЛУЧАВАНЕ_ДАННИ) | 8 |
#ПРАЗЛИВАНЕ! | =ГРЕШКА.ТИП(#РАЗЛИВАНЕ!) | 9 |
#НЕИЗВЕСТНО! | =ГРЕШКА.ТИП(#НЕИЗВЕСТНО!) | 12 |
#ПОЛЕ! | =ГРЕШКА.ТИП(#ПОЛЕ!) | 13 |
#CALC! | =ГРЕШКА.ТИП(#КАЛ!) | 14 |
Нещо друго | =ГРЕШКА.ТИП(123) | # N / A |
Например, имате таблица със стойности, както е показано по-горе. За замяна на #DIV/0! грешка с текстовия низ Грешка при деление на нула, първо трябва да намерите кода на тази грешка, който е 2. И след това приложете следната формула в клетката B2и плъзнете манипулатора за попълване надолу, за да приложите формулата към клетките по-долу:
=IF(IFNA(ERROR.TYPE(A2),A2)=2,"Грешка при деление на нула",A2)
- Във формулата можете да замените кода на грешката 2 към кода, съответстващ на друга стойност на грешка.
- Във формулата можете да замените текстовия низ „Грешка при деление на нула“ към друго текстово съобщение, или "" ако искате да замените грешката с празна клетка.
Свързани статии
Как да скриете всички стойности на грешки в Excel?
Когато работите върху работен лист на Excel, понякога може да откриете, че има някои стойности на грешки, като #DIV/0, #REF, #N/A и т.н., те са причинени от грешка във формулите. Сега бихте искали да скриете всички тези стойности за грешки в работния лист, как можете да решите тази задача бързо и лесно в Excel?
Как да промените #DIV/0! Грешка в четливото съобщение в Excel?
Понякога, когато използваме формулата за изчисляване в Excel, ще се покажат някои съобщения за грешка. Например в тази формула =A1/B1, ако B1 е празен или съдържа 0, формулата ще покаже грешка #DIV/0. Има ли някакъв начин да направите тези съобщения за грешка ясно четими или ако искате да използвате други съобщения, за да замените грешките, какво трябва да направите?
Как да избегнете грешка #Ref при изтриване на редовете в Excel?
Докато препращате клетка към друга клетка, клетката ще показва грешка #REF, ако референтният ред е бил изтрит, както е показано на екранната снимка по-долу. Сега ще говоря за това как да избегнете грешка #ref и автоматично да препращате към следващата клетка, докато изтривате реда.
Как да маркирате всички клетки с грешки в Excel?
Ако създавате формули във вашия работен лист, ще бъде неизбежно да се появят някои стойности на грешка. Можете ли да маркирате всички тези клетки, които съдържат стойностите за грешка във вашия работен лист наведнъж? Помощната програма за условно форматиране в Excel може да ви помогне да разрешите този проблем.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!