Excel VBA交集
我在网上find这个代码,显然它适用于其他人,但不是我? 我不知道哪里错了。 我做了一个简单的例子,并让我的Range1和Range 2在Excel中成为确定的单元格,
另外,我想知道是否有办法返回交点,如果可以的话。 提前致谢!
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
在我看来,你期待相交检查两个范围是否有单元格具有相同的值? 那么S15和T15的价值就是“a”吗?
如果是这样,那么这就是为什么你没有得到你所期望的。 Intersect函数返回两个范围的“重叠”范围,而不pipe每个范围内的值如何。
因为这是我在SE的第一篇文章,我希望这有助于:)
你的函数没有什么根本的错误,但是我将声明intersectRangevariables作为范围。 如果你想返回相交范围,你可以直接从intersectRange做到这一点,并不是什么,并从函数返回一个变种。
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
更多关于相交的方法 。