交叉口不起作用。
Dim NTit 作为范围 Dim NInf 作为范围 Dim NDat 作为范围
Dim WS As Worksheet 设置 WS = ActiveSheet
Set NTit = WS.Range("$A$1:$J$1") Set NInf = WS.Range("$B$3:$F$3") Set NDat = WS.Range("$A$5:$K$11") NTit.Interior.Color = RGB(255, 0, 0) If Not Intersect(Target, NTit, NInf, NDat) Is Nothing Then
答案1
不起作用Intersect
,因为每个参数必须有一个或多个公共单元格。这不是 OR 情况;而是 AND 情况。您基本上需要使用Target AND (NTit OR NInf OR NDat)
。这可以通过Intersect
与结合来实现Union
。
If Not Intersect(Target, Union(NTit, NInf, NDat)) Is Nothing Then
这看起来可能来自Worksheet_Change
事件宏。如果是这种情况,那么您不必声明和分配WS
。您可以直接用作ME
工作表对象。我可以建议其他改进,但您需要编辑您的问题并发布更多代码,然后我才能看到这与其他因素的关系。