一、案例概述:
通过本次案例来提升对vba字典的学习,本次案例主要练习的是将同一列同名对应的值进行相加计算。
二、案例如下:
(1)源数据:
(2)代码部分:
Sub 字典()
Dim 字典, arr1, arr2, i
Set 字典 = CreateObject("Scripting.Dictionary")
i = 2
Do While Range("A" & i) <> ""
Key = Range("A" & i)
If 字典.Exists(Key) Then
'item是key对应的值
字典.Item(Key) = 字典.Item(Key) + Range("B" & i).Value
Else
'将key和值添加到字典中
字典.Add Key, Range("B" & i).Value
End If
i = i + 1
Loop
字典条数 = 字典.Count
If 字典条数 > 0 Then
arr1 = 字典.keys()
arr2 = 字典.items()
Range(Cells(2, 4), Cells(字典条数 + 1, 4)) = Excel.Application.Transpose(arr1)
Range(Cells(2, 5), Cells(字典条数 + 1, 5)) = Excel.Application.Transpose(arr2)
End If
End Sub
(3)结果呈现: