VBA Worksheet_Change崩溃

时间:2017-01-03 13:27:33

标签: excel vba worksheet-function

在下面的代码中,当我更改Cell B7时,代码会一直运行到clear命令(第7行)。然后它在执行clear命令后停止,如果我再次更改B7,它不会再触发Worksheet_Change。

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo lastline
If Not Intersect(Target, Target.Worksheet.Range("B7")) Is Nothing Then
    Dim i As Integer
    Dim j As Integer
    Target.Worksheet.Range("A10", "A300").Clear
    j = 10
    For i = 4 To 10
        If ThisWorkbook.Sheets(1).Cells(i, 2) = Target Then
            Application.EnableEvents = False
            Target.Worksheet.Cells(j, 1) = ThisWorkbook.Sheets(1).Cells(i, 3)
            Application.EnableEvents = True
            j = j + 1
        End If
    Next i
End If
Application.EnableEvents = True

lastline:
Application.EnableEvents = True
End Sub

我尝试在第2行之前添加一个MsgBox以查看它是否是循环,但该消息框只运行一次。

编辑:在表单1中列出了项目及其标记。表1中有重复项,例如:Apple 1,Apple 3.代码应该做的是当更改表3中的B7(表3是目标)时,它将找到表1中具有相同名称的所有项作为B7的新值并更新工作表3中的标记。

0 个答案:

没有答案