|
本帖最后由 afad12 于 2015-1-31 18:50 编辑
Sub 字典法()
Dim arr, brr$(), i&, d As Object, s$
Set d = CreateObject("scripting.dictionary")
arr = Range("A2:E" & Range("A" & Rows.Count).End(xlUp).Row)
ReDim brr(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
s = arr(i, 3) & vbTab & arr(i, 4) & vbTab & arr(i, 5)
d(s) = d(s) & ";" & arr(i, 1)
Next
For i = 1 To i - 1
brr(i, 1) = Mid(d(arr(i, 3) & vbTab & arr(i, 4) & vbTab & arr(i, 5)), 2)
Next
[f2].Resize(i - 1) = brr
End Sub
其实就是少声明了一个变量
常规做法就是再声明一个变量在第二个循环开始
比如 for j=1 to i-1
|
|