|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Option Explicit
Sub test()
Dim arr, i, j, t, dic, mark
Set dic = CreateObject("scripting.dictionary")
arr = Sheets("sys").[a2].CurrentRegion
For i = 3 To UBound(arr, 1)
t = arr(i, 1) & arr(i, 4)
dic(t) = dic(t) + Val(arr(i, 8))
Next
Sheets("统计").Activate
j = Cells(4, Columns.Count).End(xlToLeft).Column
mark = [a4].Resize(, j)
arr = Range("a8:a" & Cells(Rows.Count, "a").End(xlUp).Row).Resize(, j)
For i = 1 To UBound(arr, 1)
If Len(arr(i, 1)) Then
For j = 21 To UBound(arr, 2)
t = mark(1, j) & arr(i, 1)
arr(i, j) = IIf(dic.exists(t), dic(t), vbNullString)
Next
End If
Next
[a8].Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End Sub |
评分
-
1
查看全部评分
-
|