Vba vb中的交集

Vba vb中的交集,vba,Vba,如果不相交(…)什么都不是,我们为什么要用这个语句呢 但是不使用intersect(…)什么都不是?通常,当我们使用intersect时,我们希望知道两个范围是否相交。 返回这些范围相交的位置,但我们通常对位置不感兴趣,但如果。所以我们忽略返回的值,只需检查我们是否得到了一个值 If Not Intersect() is Nothing Then 没有Not,没有任何东西可以阻止您使用它,即使文档示例也是这样使用的。 我们通常不这样做的原因是,selection\u change是因为当范围不

如果不相交(…)什么都不是,我们为什么要用这个语句呢
但是不使用intersect(…)什么都不是?

通常,当我们使用intersect时,我们希望知道两个范围是否相交。
返回这些范围相交的位置,但我们通常对位置不感兴趣,但如果。所以我们忽略返回的值,只需检查我们是否得到了一个值

If Not Intersect() is Nothing Then
没有
Not
,没有任何东西可以阻止您使用它,即使文档示例也是这样使用的。
我们通常不这样做的原因是,
selection\u change
是因为当范围不相交时,
If
返回true。通常,当它们相交时,我们想做一些事情。这将使您最终得到一个空的
If
,并迫使您使用
else
作为触发器。
考虑以下事项:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
    'Do things
End If
End Sub
相比

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then
    'Do nothing
Else
    'Do things
End If
End Sub

作为一名编程新手,我的一个未回答的问题是为什么
某物
不是关键字。写
如果范围是某个东西,那么写
而不是
如果范围不是什么东西,那么写
@cubbleson是非常有意义的。你可以随时制作自己的自定义函数
Something()
,尽管这可能会使它看起来像
如果某个东西(相交(目标,范围(“A1”)),那么就写
,但仍然如此<代码>不
在任何情况下都很有用,因为上述或类似情况不仅会与
一起出现。