vba交集函数(excel vba 交互)
VBA中单元格区域的交集(intersect)
前一节课里我们讲了单元格区域的并集,这一节我们讲下单元格区域的交集,通过条件区域的交集,我们就能获得目标区域。
比如:
我们需要把A1:D4和B2:E6两个区域的交集选择出来,也就是红框部分的区域,代码如下:
Sub 交集()
Intersect([a1:d4], [b2:e6]).Select
End Sub
intersect(arg1,arg2,……)与union类似,一个是交集,一个是并集。
看看下面的实例:
选择姓名和月份,点击查询,能查询该人的业绩,对应的总表里的单元格底纹标黄色。
代码如下:
Sub 查询()
Dim rng1 As Range, rng2 As Range, rs As Range, cs As Range
Range(&34;).Interior.ColorIndex = 0
For Each rng1 In [a2:a11]
If rng1.Value = [i3] Then
Set rs = rng1.EntireRow
Exit For
End If
Next
For Each rng2 In [b1:g1]
If rng2.Value = [j3] Then
Set cs = rng2.EntireColumn
Exit For
End If
Next
[k3] = Intersect(rs, cs).Value
Intersect(rs, cs).Interior.Color = RGB(255, 255, 0)
End Sub
通过符合姓名条件的行和符合月份条件的列的交集,得到该姓名、该月份的单元格,然后把该单元格的值赋给目标单元格,同时把该单元格底纹标黄色。为了下次查找之前能把上次查找到的目标单元格的底纹给清除掉,所以,在查找之前先把数据区域的单元格底纹颜色设置为无。
代码很好理解,就不赘述!
转自:米宏Office
温馨提示:通过以上关于VBA中单元格区域的交集(intersect)内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。