VBA错误: This key is already associated with an element of this collection

标签 vba excel

我使用下面的代码从 Excel 中的某个范围创建一个集合,然后用于填充用户窗体上的列表框。代码在两个单独的宏中已经工作了几个月,但突然都停止工作并在标题中抛出错误。

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)

这不会引发错误,但列表框不会填充唯一值,而是列出单元格区域中的所有项目。

我查看了有关此错误的其他帖子,但无法解决。任何人都可以建议如何修复,也对为什么可能停止工作感兴趣。

最佳答案

在VBA项目中,选项-->常规-->错误捕获,选中Break On Unhandled Errors

:)

关于VBA错误: This key is already associated with an element of this collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41553545/

相关文章:

excel - VBA:在字符串中的大写字母之后或之前放置一个空格

vba - 无需复制/粘贴即可执行单元格值修改 - VBA

vba - 错误处理完成后出现奇怪的错误行为

vba - 在vba中将%符号转换为字符串

arrays - 在 VBA 中定义数组设置步长值

excel - VBA 网络自动化

algorithm - 打印/输出变量值到即时窗口

vba - 求和公式 VBA

excel - 使用 INT 函数时的舍入误差

vba - 从字符串数组中选取随机值