分享免费的编程资源和教程

网站首页 > 技术教程 正文

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

goqiw 2024-11-21 15:12:33 技术教程 54 ℃ 0 评论

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


比如:



我们需要把A1:D4B2: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("b2:g11").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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表