|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Option Explicit
Sub test()
Dim arr, dic(1), i, m, n
For i = 0 To UBound(dic)
Set dic(i) = CreateObject("scripting.dictionary")
Next
arr = Range("b5:d" & [b5].End(xlDown).Row)
ReDim brr(UBound(arr, 1), 100)
For i = 1 To UBound(arr, 1)
If Not dic(0).exists(arr(i, 1)) Then m = m + 1: dic(0)(arr(i, 1)) = m: brr(m, 0) = arr(i, 1)
If Not dic(1).exists(arr(i, 2)) Then n = n + 1: dic(1)(arr(i, 2)) = n: brr(0, n) = arr(i, 2)
If Len(brr(dic(0)(arr(i, 1)), dic(1)(arr(i, 2)))) = 0 Then
brr(dic(0)(arr(i, 1)), dic(1)(arr(i, 2))) = arr(i, 3)
Else
brr(dic(0)(arr(i, 1)), dic(1)(arr(i, 2))) = brr(dic(0)(arr(i, 1)), dic(1)(arr(i, 2))) & "," & arr(i, 3)
End If
Next
[f3].Resize(m + 1, n + 1) = brr
End Sub |
评分
-
2
查看全部评分
-
|