|
Sub aa() '作业代码写在该模块
Dim d As New Dictionary '引用字典
Dim i As Long
Dim y As Range
Set y = Range("g1")
Range("f3:g15").ClearContents
For i = 2 To Range("a65536").End(xlUp).Row
If y.Value = "全部" Then
d(Cells(i, 1).Value) = d(Cells(i, 1).Value) + Cells(i, 3)
ElseIf Cells(i, 2) = y.Value Then
d(Cells(i, 1).Value) = d(Cells(i, 1).Value) + Cells(i, 3)
End If
Next i
Range("f3").Resize(d.Count, 1) = Application.WorksheetFunction.Transpose(d.Keys)
Range("g3").Resize(d.Count, 1) = Application.WorksheetFunction.Transpose(d.Items)
End Sub
Sub ss()
Dim d As Object
Set d = CreateObject("scripting.dictionary") '代码写入字典
Dim i As Integer, arr, k
i = Range("a65536").End(xlUp).Row
arr = Range("a2:c" & i)
Range("f3:g15").ClearContents '清除内容
For k = 1 To UBound(arr)
If Range("g1").Value = "全部" Then
d(arr(k, 1)) = d(arr(k, 1)) + arr(k, 3)
ElseIf arr(k, 2) = Range("g1").Value Then
d(arr(k, 1)) = d(arr(k, 1)) + arr(k, 3)
End If
Next k
Range("f3").Resize(d.Count, 1) = Application.WorksheetFunction.Transpose(d.Keys)
Range("g3").Resize(d.Count, 1) = Application.WorksheetFunction.Transpose(d.Items)
End Sub |
评分
-
查看全部评分
|