忽略';存储为文本的数字';使用VBA以编程方式在Excel中出错

忽略';存储为文本的数字';使用VBA以编程方式在Excel中出错,excel,error-handling,vba,Excel,Error Handling,Vba,我想在单元格中存储诸如“001234”之类的文本。我已将此单元格的数字格式设置为文本。存储后,错误“存储为文本的数字”以绿色三角形的形式显示在单元格的左上角。这非常令人不安,我希望通过编程将其删除。考虑: Sub Macro1() Application.ErrorCheckingOptions.NumberAsText = False End Sub 这是一个大得多的宏的单行,当我开始在新计算机上工作时,可以配置Excel。或者,您可以将单元格格式设置为000000,而不是将单元格格

我想在单元格中存储诸如“001234”之类的文本。我已将此单元格的数字格式设置为文本。存储后,错误“存储为文本的数字”以绿色三角形的形式显示在单元格的左上角。这非常令人不安,我希望通过编程将其删除。

考虑:

Sub Macro1()
    Application.ErrorCheckingOptions.NumberAsText = False
End Sub

这是一个大得多的宏的单行,当我开始在新计算机上工作时,可以配置Excel。

或者,您可以将单元格格式设置为000000,而不是将单元格格式设置为文本,以显示前导的0。

您可以选择要工作的范围,然后放置例如(现在添加了speechmarks):


以上示例关闭应用程序的“数字存储为文本”检查

此代码将为特定单元格关闭它:

range("G93").Errors.Item(xlnumberastext).Ignore = True

+我前一阵子试着找过。以下内容对我不起作用:
Application.Range(Item.Address).Errors.Item(xlNumberAsText).Ignore=True
。谢谢大家!@Brian看我的编辑可能有很好的理由将数字存储为文本,例如使用VLOOKUP等进行匹配。这似乎会在整个工作簿中关闭它,而不仅仅局限于特定范围。我同意你的观察,因为范围对象具有一个应用程序属性,该属性引用该范围所在的应用程序。该行基本上与键入Application.ErrorCheckingOptions.NumberAsText=False相同
range("G93").Errors.Item(xlnumberastext).Ignore = True