Excel中的VBA:如果列没有';那里还不存在

Excel中的VBA:如果列没有';那里还不存在,vba,excel,Vba,Excel,好的,我在一列中有一个名称表,在另一列中有相应的数字。大多数名字出现不止一次,每次都有不同的数字。该表可能会在将来添加到。我正在尝试编写一个VBA宏,它将每个名称输出一次,并将附加到它们的数字的总和显示在单独的表中。我已经8个月没用VBA了,我真的生锈了。建议?我相信,记得添加参考microsoft脚本运行时。你需要在这里使用字典 Sub test() Dim var As Variant Dim rng As Range Set rng = Range("A1:A10

好的,我在一列中有一个名称表,在另一列中有相应的数字。大多数名字出现不止一次,每次都有不同的数字。该表可能会在将来添加到。我正在尝试编写一个VBA宏,它将每个名称输出一次,并将附加到它们的数字的总和显示在单独的表中。我已经8个月没用VBA了,我真的生锈了。建议?

我相信,记得添加参考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

因此,这不是一个代码编写服务。我建议录制一个宏,将数据复制到新的工作表/范围中,删除重复项,并在下一个可用列中添加一个
SUMIF
列。从那里,您应该能够计算出要包含在过程中的范围等。谢谢,我正在寻找字典函数。最近使用了更多的python。