В Excel есть функция предупреждения о возможных ошибках в ячейке. Это предупреждение отображается в виде зеленого треугольника в верхнем левом углу ячейки. В одних случаях это полезно, в других — очень беспокоит. Например, у Питера есть список адресов на листе. В одном столбце у него есть почтовые индексы в текстовом формате. Excel постоянно сообщает ему, что все ячейки в этом столбце представляют собой числа, отформатированные как текст, что (в его случае) является преднамеренным. Питер интересуется, есть ли способ подавить это конкретное предупреждение только для этого столбца. Он попытался выбрать столбец и нажать «Игнорировать ошибку», но это сработало только временно. Если он редактирует ячейку, предупреждение возвращается, а если он закрывает и снова открывает книгу, предупреждение возвращается.

Excel позволяет настроить, какие ошибки он отмечает, а какие игнорирует.

Вы можете сделать это, выполнив следующие действия:

  1. Откройте диалоговое окно «Параметры Excel». (В Excel 2007 нажмите кнопку «Office», а затем нажмите «Параметры Excel. В Excel 2010 и более поздних версиях откройте вкладку« Файл »на ленте, а затем нажмите« Параметры ».)

  2. В левой части диалогового окна щелкните Формулы. (См. Рис. 1.)

  3. В нижней части диалогового окна снимите флажок «Числа, отформатированные как текст» или «Перед ними апостроф».

  4. Щелкните ОК.

Теперь Excel не будет отмечать эти типы потенциальных ошибок, когда вы используете программу. Если хотите, вы можете справиться с этим процессом с помощью макроса. Это позволит вам отключить эту проверку ошибок при использовании рабочего листа, но снова включить, если вы перейдете на другой рабочий лист.

Это можно сделать с помощью обработчиков событий Worksheet_Activate и Worksheet_Deactivate следующим образом:

Private Sub Worksheet_Activate()

Application.ErrorCheckingOptions.NumberAsText = False End Sub
Private Sub Worksheet_Deactivate()

Application.ErrorCheckingOptions.NumberAsText = True End Sub

Вы можете попасть в окно кода, в которое вводятся эти обработчики событий, щелкнув правой кнопкой мыши вкладку рабочего листа и выбрав опцию «Код» в контекстном меню.

Конечно, Питер попросил подавить ошибки только в одном столбце. Это становится немного сложнее, но все же можно сделать. К сожалению, VBA позволяет вам устанавливать параметры проверки ошибок только для каждой ячейки, а это означает, что изменить настройку для всего столбца становится невозможно. Если вы хотите сделать это для диапазона ячеек в определенном столбце, вы можете сделать это следующим образом:

Private Sub Workbook_Open()

Dim c As Range

For Each c In Worksheets("Retail Figures").Range("A1:A100")

c.Errors(xlNumberAsText).Ignore = True     Next End Sub

Обратите внимание, что это обработчик события Workbook_Open, который помещается в окно кода для объекта ThisWorkbook. Он запускается при открытии книги и устанавливает проверку ошибок для диапазона A1: A100 на листе Retail Figures. Очевидно, вы захотите изменить диапазон, чтобы ссылаться на ячейки, на которые вы хотите повлиять.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (5229) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.