我们先来看下问题: 有的同学可能会想到,数据选项里有删除重复项,删除重复项只能针对一列数据,所以先要把每行数据转置成列,删除重复项,然后再转置。 当然我们可以把原始数据集体转置后,逐列删除重复项,然后再转置,如下: 下面我们看下用字典如何实现每行去重复的效果呢? 具体代码如下: Sub 去重复() Dim arr1, arr2(1 To 17), i%, m%, d As Object arr1 = Range('b2:r7') Set d = CreateObject('scripting.dictionary') For i = 1 To UBound(arr1) For m = 1 To UBound(arr1, 2) arr2(m) = arr1(i, m) d(arr2(m)) = '' Next Cells(i 8, 2).Resize(1, d.Count) = d.keys d.RemoveAll Next End Sub 上面的循环类似与九九乘法表中的循环,两个for嵌套在一起,实现了从二维数组的每行中取值的效果。 这个例子是数组与字典的结合应用,大家可以练练手。 今天的分享就到这里了! 想更深入的学习视频教程,请进入公众号后台菜单中了解详情! |
|