Excel中的VBA:将单元格值写入列(如果它尚不存在)

好的,所以我在一列中有一个名字表,在另一列中有相应的数字。 大多数名字出现不止一次,每次都有不同的数字。 表格可能会在未来添加。 我正在尝试编写一个VBAmacros,它将输出每个名称一次,并附加到他们在一个单独的工作表的总数。 我8个月没有使用过VBA,而且真的很生疏。 build议?

记得添加参考微软脚本运行时,我相信。 你需要在这里使用字典。

 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