VBA错误:此键已与此集合的元素关联
我使用下面的代码从excel中的一个范围创建一个集合,然后用于填充userform上的列表框。几个月来,代码在两个单独的宏中运行良好,但突然两个宏都停止工作并在标题中抛出错误VBA错误:此键已与此集合的元素关联,vba,excel,Vba,Excel,我使用下面的代码从excel中的一个范围创建一个集合,然后用于填充userform上的列表框。几个月来,代码在两个单独的宏中运行良好,但突然两个宏都停止工作并在标题中抛出错误 Private Sub UserForm_Initialize() Dim ws As Worksheet Dim LR As Long Dim cell As Range Dim List As New Collection Dim Item As Variant Set
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim LR As Long
Dim cell As Range
Dim List As New Collection
Dim Item As Variant
Set ws = Worksheets("ExpenseCATs")
With ws
LR = .Cells(.Rows.Count, 1).End(xlUp).Row
For Each cell In .Range("A2:A" & LR)
With cell
On Error Resume Next
List.Add .Text, CStr(.Value) <---------- Error
On Error GoTo 0
End With
Next cell
For Each Item In List
EXPListBox1.AddItem Item
Next Item
End With
这不会引发错误,但列表框不会填充唯一值,而是列出单元格范围内的所有项目
我看过其他关于这个错误的帖子,但是没有解决。任何人都可以建议如何修复,并且对可能停止工作的原因感兴趣。在VBA项目中,选项-->常规-->错误捕获,检查未处理错误时中断
:)我相信在将项目添加到集合中时会发生此错误,并且以前使用过密钥。add(key,value)与Dictionary对象的顺序相反
Collection.add(item [,Key])
Dictionary.add(Key, item)
例如:
Dim c As New Collection
c.add "Value1", Key:="one"
c.add "Value2", Key:="two"
c.add "Value3", Key:="one" '<----- this is where the error occurs because of duplicate key
Dim c作为新集合
c、 添加“Value1”,键:=“一”
c、 添加“Value2”,键:=“2”
c、 添加“Value3”,键:=“one”’谢谢,但在我的情况下,这是错误捕获设置,如上所述。这将保存到工作簿中还是我的Excel实例的本地?
Dim c As New Collection
c.add "Value1", Key:="one"
c.add "Value2", Key:="two"
c.add "Value3", Key:="one" '<----- this is where the error occurs because of duplicate key