好的,所以我在一列中有一个名称表,在另一列中有相应的数字。大多数名称出现不止一次,每次都有不同的数字。该表可能会在将来添加。我试图编写一个VBA宏,它将输出每个名称一次,并在单独的工作表上输出附加到它们的数字的总和。我没有在8个月内使用过VBA,而且我真的生锈了。建议?
答案 0 :(得分:1)
记得添加参考microsoft脚本运行时,我相信。你需要在这里使用字典。
Sub test()
Dim var As Variant
Dim rng As Range
Set rng = Range("A1:A100")
Dim dico As Dictionary
Set dico = New Dictionary
For Each var In rng.Cells
if dico.Exists(var.value) Then
dico(var.value) = dico(var.value) + var.offset(0,1).value
else
dico.Add var.value, var.offset(0,1).value
end if
Next var
Set rng = Range("C1")
Dim i as double
i = 0
For Each var In dico.keys
rng.offset(i).value = var
rng.offset(i,1).value = dico(var)
Next var
End sub