|
本帖最后由 ybchxj2010 于 2012-1-6 08:52 编辑
有以下代码:作用是利用字典过滤区域内重复出现的记录:
Sub 过滤重复记录()
Dim d As New Dictionary,t
For i = 2 To 5
Set d(Cells(i, 1) .Value)= Range(Cells(i, 1), Cells(i, 4))
Next
t=d.items
[A11].Resize(d.Count, 4) = Application.Transpose(Application.Transpose(t))
End Sub
问题一:Set语句在字典中运用详解。
问题二:转置函数二次叠用的语句解释。
拜托各位老师!
SET语句
SET语句在字典中和不在字典中的使用可以说并无区别,通常是把一个对象存储到变量中,你代码中的SET是将RANGE对象存储到字典的ITEM中,你把d(Cells(i, 1) .Value)也看作一个变量的话,就不难理解了。
二次转置
通常的,转置用于将二维数组的一列或一行转为一维数组以方便join、filter等处理。但你这里的却不是。你这里的数组t是一个存有一堆RANGE对象的一维数组,一次转置后得到一个由这些RANGE对象的值组成的二维数组,但行列被“转置”了,因此需要第二次转置。
|
|