字典添加如果不存在

时间:2017-01-03 16:16:21

标签: vba dictionary

我有一个带有重复项的数据集,想要遍历数据并在密钥不存在时添加。

Dim SSBIds As New Scripting.Dictionary
Dim key As Variant
For i = 2 To endSSB
    For Each key In SSBIds
        If Not SSBIds.Exists(key) Then
            SSBIds.Add SSB.Cells(i, 1).Value2, i
        End If
    Next
Next i

endSSB只是数据集的最后一行。我只是一直盯着这个,无法弄清楚为什么它不起作用。

1 个答案:

答案 0 :(得分:1)

使用:

`Dim SSBIds As New Scripting.Dictionary`

您要定义一个全新的Dictionary,然后使用:

`For Each key In SSBIds`

你试图遍历它的键,但这些键是空的......

也许你就是在这之后

Dim SSBIds As New Scripting.Dictionary
Dim i As Long
With SSB
    For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
        If Not SSBIds.Exists(.Cells(i, 1).Value2) Then SSBIds.Add .Cells(i, 1).Value2, i
    Next
End With