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”)),那么就写,但仍然如此<代码>不
在任何情况下都很有用,因为上述或类似情况不仅会与无
一起出现。