xlErrorChecks枚举Office 365 / Excel 2016

在我当前版本的Excel中,xlNumberAsText的枚举似乎与文档
XlErrorChecks Enumeration (Excel)和SO上推荐的先前用法不一致.似乎特别的错误是第4项;而以前关于使用VBA清除此错误的帖子使用了3的常量.

《xlErrorChecks枚举Office 365 / Excel 2016》

这是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

《xlErrorChecks枚举Office 365 / Excel 2016》

而且,在尝试清除错误框时,我必须使用

R.Errors(4).Ignore = True  

Errors(3)和Errors(xlNumberAsText)都不会对错误框产生任何影响.

我注意到枚举和文档的其他不一致之处:

Inconsistent Formula: 5
Wrong Data Type:      2

我不打算去查看其余部分.但我打算尝试向MS报告.感谢那些证实了这个问题的人.

最佳答案 跟进:我通过Excel中的反馈选项向MS报告此情况.在今天上午的更新后,问题似乎得到了纠正.

《xlErrorChecks枚举Office 365 / Excel 2016》

点赞