Excel具有警报功能,可防止单元格中出现错误。此警报在单元格的左上角显示为绿色三角形。在某些情况下这很有用,而在另一些情况下确实很麻烦。例如,Peter在工作表中有一个地址列表。在一栏中,他将邮政编码设置为文本格式。 Excel不断告诉他该列中的所有单元格都是数字格式为文本的数字,(在他的情况下)这是故意的。 Peter想知道是否有一种方法可以仅针对该列来抑制该特定警报。他尝试选择该列,然后单击“忽略错误”,但这只能暂时起作用。如果他编辑一个单元格,警报将返回,如果他关闭并重新打开工作簿,则警报将返回。

Excel允许您调整它标记的错误和忽略的错误。

您可以按照以下步骤操作:

。显示“ Excel选项”对话框。 (在Excel 2007中,单击Office按钮,然后单击Excel选项。在Excel 2010和更高版本中,显示功能区的“文件”选项卡,然后单击“选项”。)

。在对话框的左侧,单击“公式”。 (请参见图1。)

。在对话框底部附近,清除“格式化为文本或在撇号前面的数字”复选框。

。单击确定。

现在,当您使用程序时,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

通过右键单击工作表选项卡,然后从出现的上下文菜单中选择“代码”选项,您可以进入输入这些事件处理程序的代码窗口。

当然,Peter要求仅在单列上消除错误。这有点棘手,但仍然可以完成。不幸的是,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范围的错误检查。您显然会想要更改范围以引用要影响的单元格。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(5229)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。