你可以使用这段代码.我们的想法是使用迭代将您的数组合并到一个范围内Union
.然后你可以使用内置的Intersect
.
Function IntersectArray(array1() As Range, array2() As Range) As Range
Dim unionRangeArray1 As Range, unionRangeArray2 As Range
Dim i As Integer
Dim lbound1 As Integer: lbound1 = LBound(array1)
Dim lbound2 As Integer: lbound2 = LBound(array2)
Set unionRangeArray1 = array1(lbound1)
Set unionRangeArray2 = array2(lbound2)
For i = lbound1 + 1 To UBound(array1)
Set unionRangeArray1 = Application.Union(unionRangeArray1, array1(i))
Next
For i = lbound2 + 1 To UBound(array2)
Set unionRangeArray2 = Application.Union(unionRangeArray2, array2(i))
Next
Set IntersectArray = Application.Intersect(unionRangeArray1, unionRangeArray2)
End Function
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3739 次 |
最近记录: |