Excel VBA 相交
Excel VBA Intersect
我在网上找到了这段代码,显然它适用于其他人但不适用于我?我不知道哪里错了。我做了一个简单的例子,让我的 Range1 和 Range 2 成为 excel、
中的某些单元格
此外,我想知道是否有办法 return 交叉路口,如果可以的话。提前致谢!
Function InRange(Range1 As Range, Range2 As Range) As Boolean
Set intersectRange = Application.Intersect(Range1, Range2)
If intersectRange Is Nothing Then
InRange = False
Else
InRange = True
End If
End Function
在我看来,您希望 Intersect 检查两个范围是否具有具有相同值的单元格?这就是在 S15 和 T15 中都具有值 "a" 的意义吗?
如果是这样,那么这就是您没有得到预期结果的原因。 Intersect 函数 returns 一个范围是两个范围的 "overlap",无论每个范围内的值如何。
因为这是我在 SE 上的第一个 post,希望这对您有所帮助:)
您的函数没有根本性的错误,但我会将 intersectRange 变量声明为一个范围。如果你想 return 相交范围,你可以直接从 intersectRange is not nothing and return a variant from the function.
Function InRange(Range1 As Range, Range2 As Range) As Variant
Dim intersectRange As Range
Set intersectRange = Application.Intersect(Range1, Range2)
If intersectRange Is Nothing Then
InRange = False
Else
InRange = intersectRange.Address(0, 0)
End If
End Function
更多关于 Intersect method。
我在网上找到了这段代码,显然它适用于其他人但不适用于我?我不知道哪里错了。我做了一个简单的例子,让我的 Range1 和 Range 2 成为 excel、
此外,我想知道是否有办法 return 交叉路口,如果可以的话。提前致谢!
Function InRange(Range1 As Range, Range2 As Range) As Boolean
Set intersectRange = Application.Intersect(Range1, Range2)
If intersectRange Is Nothing Then
InRange = False
Else
InRange = True
End If
End Function
在我看来,您希望 Intersect 检查两个范围是否具有具有相同值的单元格?这就是在 S15 和 T15 中都具有值 "a" 的意义吗?
如果是这样,那么这就是您没有得到预期结果的原因。 Intersect 函数 returns 一个范围是两个范围的 "overlap",无论每个范围内的值如何。
因为这是我在 SE 上的第一个 post,希望这对您有所帮助:)
您的函数没有根本性的错误,但我会将 intersectRange 变量声明为一个范围。如果你想 return 相交范围,你可以直接从 intersectRange is not nothing and return a variant from the function.
Function InRange(Range1 As Range, Range2 As Range) As Variant
Dim intersectRange As Range
Set intersectRange = Application.Intersect(Range1, Range2)
If intersectRange Is Nothing Then
InRange = False
Else
InRange = intersectRange.Address(0, 0)
End If
End Function
更多关于 Intersect method。