|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
借楼学习一下字典,打扰了
Sub test()
lastr = Cells(Rows.Count, "a").End(xlUp).Row
arr = Range("a1:d" & lastr)
[g1].Resize(, 5) = Array("时间", "销售者", "货品", "数量", "价格")
ReDim brr(1 To UBound(arr), 1 To 5)
Set dic = CreateObject("scripting.dictionary")
For i = 2 To UBound(arr)
If arr(i, 1) <> "" Then
strkey = arr(i, 1) & "|" & arr(i, 2) & "|" & arr(i, 4)
If Not dic.exists(strkey) Then
m = m + 1
brr(m, 1) = arr(i, 1)
brr(m, 2) = arr(i, 4)
brr(m, 3) = arr(i, 2)
brr(m, 4) = 1
brr(m, 5) = arr(i, 3)
dic(strkey) = m
Else
r = dic(strkey)
brr(r, 4) = brr(r, 4) + 1
End If
End If
Next
For i = 1 To m - 1
For j = i + 1 To m
If brr(i, 1) > brr(j, 1) Then
For k = 1 To UBound(brr, 2)
temp = brr(i, k): brr(i, k) = brr(j, k): brr(j, k) = temp
Next
End If
Next
Next
If m > 0 Then
[g2].Resize(m, 5) = brr
End If
Set dic = Nothing
End Sub
|
评分
-
1
查看全部评分
-
|