背景: 我试图从已确定的日期列表中确定有多少个独特的时间段。在其他地方,我已经看到了一种利用集合和错误陷印的方法(在任何情况下,我的意思是“在错误继续下一个”上)来构建具有唯一值的集合。我甚至在我编写的其他代码中成功地使用了这个结构,但是在我目前的情况下,我得到了一个“Error 457:这个键已经与这个集合的一个元素相关联。”考虑到我错误地使用了这个集合,我打开了一些我6个月前写过的代码(在另一家公司的另一台计算机上),它使用相同的结构,并且WORK已知。这个较旧的代码破坏了以前没有做过的相同的错误。这里是我的工作正在进行代码示例:使用集合创建唯一列表时VBA错误457
Dim rng as range
Dim TimePeriod as Collection
Set TimePeriod = New Collection
For Each rng In Range("I2:I6")
On Error Resume Next
TimePeriod.Add rng.Value, CStr(rng.Value) 'This is where the code breaks
On Error GoTo 0
Next rng
问题: 我想知道是否有设置或参考图书馆,我莫名其妙地丢失所造成的代码两件打破或如何确定,因为两个代码在功能上是相同的,并且先前测试的令人满意的代码像我正在进行的工作一样中断。我预计“On Error Resume Next”强制循环传递错误。有什么建议么?在范围
--Update--
样本数据( “I2:I6”)如下:
1/21/15
1/21/15
1/21/15
1/23/15
1/27/15
要提高你的问题,“帮我们帮助你”
检查工具/选项,我建议你给我们一个样本数据放入范围(“I2:I6”)以复制错误。 –
@MatteoNNZ我应该包含示例数据。抱歉。现在添加它。 – wackojacko1997
@MatteoNNZ一件事,但:我在另一台计算机上测试了它,它工作。我认为这是一个设置而不是代码问题。我希望你不会在样本数据中出错。 – wackojacko1997