我使用下面的代码从excel中的范围创建一个集合,然后用它来填充用户窗体上的列表框。代码在两个单独的宏中一直工作正常,但突然都停止工作,并在标题中抛出错误。VBA错误:此密钥已与此集合的元素相关联
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
由于所有条目的文字,我注释掉错误行的一部分,如下
List.Add .Text ', CStr(.Value)
这并不会引发错误,但列表框不具有唯一值填充,而不是它列出单元格范围内的所有项目。
我已经看过其他文章在这个错误,但无法解决。任何人都可以建议如何解决,也有兴趣为什么可能停止工作。
谢谢,但在我的情况下,这是错误捕获设置如上 –