前一节课里我们讲了单元格区域的并集,这一节我们讲下单元格区域的交集,通过条件区域的交集,我们就能获得目标区域。 比如: 我们需要把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('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元,一次付费后,以后所录视频均可以免费索取,而且不懂的地方可以交流。非诚勿扰,谢谢配合! |
|
来自: L罗乐 > 《VBA基础入门教程》