我有一个带有重复项的数据集,想要遍历数据并在密钥不存在时添加。
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只是数据集的最后一行。我只是一直盯着这个,无法弄清楚为什么它不起作用。
答案 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