我正在使用Excel VBA并有一个workheet_change事件,如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("rel_type") Then
--some code
End If
End Sub
当我对命名范围“rel_type”进行更改时,该代码非常有用 . 但是,如果我在电子表格中的任何其他位置插入一行,我会得到运行时错误13 - 在该Sub的第一行上输入不匹配 . 有人知道解决方法吗?我不熟悉Worksheet_Change事件,似乎无法找到好的文档(或者至少是文档引用了这个错误的原因) . 谢谢 .
1 回答
这是你在尝试什么?
FOLLOWUP
INTERSECT :相交方法将返回一个范围对象,该对象表示两个或更多范围的交集 .
看到这个链接
Topic: Intersect Method [Excel 2003 VBA Language Reference]
Link :Intersect - MSDN
ENABLEEVENTS :您必须使用EnableEvents属性来防止VBA代码可能启动的任何可能的无限循环 . 将此属性设置为
False
时,VBA不会引发任何事件,Worksheet_Change
事件只会运行一次 . 此外,您应始终确保将EnableEvents属性设置回True
,以便下次正常调用事件 .HTH
希德