搜索
写经验 领红包

vba交集函数(excel vba 交互)

VBA中单元格区域的交集(intersect)

前一节课里我们讲了单元格区域的并集,这一节我们讲下单元格区域的交集,通过条件区域的交集,我们就能获得目标区域。

比如:

vba交集函数(excel vba 交互)

我们需要把A1:D4和B2:E6两个区域的交集选择出来,也就是红框部分的区域,代码如下:

Sub 交集()

Intersect([a1:d4], [b2:e6]).Select

End Sub

intersect(arg1,arg2,……)与union类似,一个是交集,一个是并集。

看看下面的实例:

vba交集函数(excel vba 交互)

选择姓名和月份,点击查询,能查询该人的业绩,对应的总表里的单元格底纹标黄色。

代码如下:

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)内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。