xlErrorChecks枚举Office 365 / Excel 2016
在我当前版本的Excel中,xlNumberAsText的枚举看起来与文档XlErrorChecks枚举(Excel)和SO上推荐的使用之前的用法不一致。 看来,特别的错误是项目4; 而之前有关使用VBA清除此错误的post使用了3的常量。
这是Excel 2016中的一个错误吗? 或者我做错了什么。
这里是展示这个问题的代码。 如果您在运行代码之后检查工作表,很明显错误在Excel中被标记为NumberAsText
而不是Inconsistent Formula
。
Option Explicit Sub foo() Dim I As Long Dim B As Boolean Dim S As String Dim R As Range 'Save current state B = Application.ErrorCheckingOptions.NumberAsText 'Enable Application.ErrorCheckingOptions.NumberAsText = True Set R = Cells(1, 1) With R .Clear .NumberFormat = "@" .Value = "1" End With For I = 1 To 10 S = S & vbLf & I & vbTab & R.Errors(I).Value Next I S = Mid(S, 2) 'Restore original state Application.ErrorCheckingOptions.NumberAsText = B MsgBox S End Sub
而且,在试图清除错误框,我必须使用
R.Errors(4).Ignore = True
Errors(3)
和Errors(xlNumberAsText)
都不会对错误框有任何影响。
我注意到与枚举和文档的其他不一致之处:
Inconsistent Formula: 5 Wrong Data Type: 2
我不打算去检查其余的。 但是我会试着把它报告给MS。 感谢那些证实了这个问题的人。
跟进:我通过Excel中的反馈选项向MS汇报了这一点。 而今天上午更新之后,问题似乎已经得到纠正。