分享

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

 L罗乐 2018-03-04


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


比如:



我们需要把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


通过符合姓名条件的行和符合月份条件的列的交集,得到该姓名、该月份的单元格,然后把该单元格的值赋给目标单元格,同时把该单元格底纹标黄色。为了下次查找之前能把上次查找到的目标单元格的底纹给清除掉,所以,在查找之前先把数据区域的单元格底纹颜色设置为无。


代码很好理解,就不赘述!


今天的分享就到这里,越往后学我们可以解决的问题越多,也就越来越有意思了。


视频教程正在陆续录制中(目前录制了十六节了),需要的同学可以加我微信号:527240310,50元,一次付费后,以后所录视频均可以免费索取,而且不懂的地方可以交流。非诚勿扰,谢谢配合!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多