ForEach On Error GoTo Resume Next不工作

时间:2017-12-13 16:47:07

标签: excel vba

我试图关注this tutorial。我已经使用以下点击处理程序创建了一个按钮:

Private Sub SqrtButton_Click()
    Dim rng As Range, cell As Range
    Set rng = Selection
    For Each cell In rng
        On Error GoTo InvalidValue:
        cell.Value = Sqr(cell.Value)
    Next cell
    Exit Sub

InvalidValue:
    MsgBox Err.Number & " " & Err.Description & " at cell " & cell.Address
    Resume Next
End Sub

根据教程,程序应显示单元格B4和B5的两条错误消息,并替换其余单元格中的值。但是,当我运行代码时,只替换第一个单元格值(B2)并且不显示任何错误消息。

该示例可供download使用,但它也无效。

此代码有什么问题?

2 个答案:

答案 0 :(得分:2)

您的范围取决于选择(突出显示的单元格),选择所有5个单元格(B2:B6),然后单击按钮。当我这样做时,代码对我来说似乎很好。

善待并留下反馈! :)

答案 1 :(得分:1)

我知道这已经得到了回答,但import array buf = array.array('c') 语法被认为是一种很好的做法让我感到困扰。如果可以的话,一定要避免。这是相同的代码,但重写以避免On Error GoTo语句:

On Error GoTo