检查命名范围内更改的单元格是否优于vba

时间:2018-05-02 07:51:31

标签: excel vba excel-vba

我只需要监视工作表中的更改,而不是在整个工作表中,只是在命名范围内。因此,如果在任何单元格中发生任何类型的更改,它应检查在该命名范围内发生的更改,如果有,则必须执行某些操作。

这是我的代码

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ir As Boolean

    ir = Application.Intersect(Target.Address, Range("bd_main"))
    If ir = True Then
        MsgBox "change"
    End If

End Sub

但它会在Type Mismatch的{​​{1}}函数中触发错误Application.Intersect

我做错了什么导致了这样的错误。

1 个答案:

答案 0 :(得分:1)

稍作修改,请使用以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Application.Intersect(Target, Range("bd_main")) Is Nothing Then
        MsgBox "change"
    End If

End Sub