VBA Excel不会忽略"存储为文本的号码"错误

时间:2017-04-28 01:18:41

标签: vba excel-vba cells excel

我认为Excel已经老了。

对于我的生活,我无法让我的Excel VBA宏忽略"存储为文本的数字"错误。

在名为" Main的工作表的单元格C71中,"我有值6135413313,Excel警告是一个存储为文本的数字。它应该是。但我想在宏的末尾删除那个恼人的小三角形。

为了测试目的,我已将宏代码缩减为裸骨,但该三角形仍然存在。这是我的宏:

Sub test()
    Range("C71").Errors(xlEvaluateToError).Ignore = True
End Sub

这怎么不会让错误消失?我也试过Range("Main!C71")。这也不起作用。

这应该令人难以置信,但是一行代码仍然无法正常工作。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你可以试试这个

Sub test()
Sheets("Main").Range("C71").Errors(xlNumberAsText).Ignore = True
End Sub

Sub test()
Sheets("Main").Range("C71").Value = Sheets("Main").Range("C71").Value
End Sub

另一种方法是您可以手动禁用背景错误检查 您可以点击文件 - Excel选项 - 公式找到此选项,然后取消选中该选项

它将禁用所有单元格的错误检查

background error checking

答案 1 :(得分:0)

循环遍历范围内的每个单元格以测试xlNumberAsText错误并设置ignore标记有效(尽管如果您有大量单元格,这可能会很慢)。

Sub test2()
    Call turnOffNumberAsTextError(Sheets("Main").Range("C71"))
End Sub

Sub turnOffNumberAsTextError(rge As Range)
    Dim rngCell As Range
    For Each rngCell In rge.Cells
        With rngCell
            If .Errors.Item(xlNumberAsText).Value Then
                .Errors.Item(xlNumberAsText).Ignore = True
            End If
        End With
    Next rngCell
End Sub