Cells(n, 2) = k(i)
Cells(n, 3) = k1(j)
Cells(n, 4) = d1(k(i))(k1(j))
Next
n = n + 1
Next
Cells(3, 3) = tt
End Sub
5,3 级字典嵌套
‘2012-1-23
‘http://club.excelhome.net/forum.php?mod=viewthread&tid=974963&page=2#pid6676611
Sub lqxs()
Dim Arr, i&, Arr1, x$, n&, y&, Brr, r%, Brr1(), r2%, Brr2()
Dim d, k, t, d1, k1, t1, k2, kk, a, b, c, cp$
Set d = CreateObject("Scripting.Dictionary")
Set d1 = CreateObject("Scripting.Dictionary")
Sheet3.Activate
[a2:d50000].Clear
Arr1 = Sheet1.[a1].CurrentRegion
Arr = Sheet2.[a1].CurrentRegion
For i = 2 To UBound(Arr)
a = Arr(i, 4): b = Arr(i, 3)
d(b) = a
Next
d.RemoveAll
For i = 2 To UBound(Arr1)
a = Arr1(i, 4): c = Arr1(i, 7)
b = Split(Arr1(i, 3), "]")(1)
cp = a & "," & b
If a <> "" Then
If d.Exists(a) = False Then Set d(a) = CreateObject("Scripting.Dictionary")
d(a)(b) = b
If d1.Exists(cp) = False Then
Set d1(cp) = CreateObject("Scripting.Dictionary")
End If
d1(cp)(c) = d1(cp)(c) + 1
End If
Next
k = d.keys: k1 = d1.keys
评论0
最新资源