【发布时间】:2017-11-10 08:10:16
【问题描述】:
我收到每月的库存销售报告。系统会定期添加一些项目,我通过它们的唯一 ID 号找到这些项目。我有一个 excel 文件,其中包含所有项目编号和描述以及一些其他属性的列表。
我的目标 - 下载一个包含上个月售出的所有商品的 Excel 文件。如果有新项目,请将其添加到现有列表中。
我正在使用 Siddharth Rout 在上一个答案中发布的内容,相关代码如下所示:
dim col as collection
Application.ScreenUpdating = False
With ItemList
For x = 3 To lastrowIL
On Error Resume Next
col.Add .Range("A" & x).Value, CStr(.Range("A" & x).Value)
On Error GoTo 0
Next x
End With
With Monthly
.Range("AH3:AH" & lastrowM).Value = "New"
On Error Resume Next
For y = 3 To lastrowM
col.Add .Range("B" & y).Value, CStr(.Range("B" & y).Value)
If Err.Number <> 0 Then .Range("AH" & y).Value = "Old"
Err.Clear
Next y
End With
Application.ScreenUpdating = True
这个概念是,如果您两次输入相同的项目 ID,将使用相同的密钥,并且会出现一条错误消息,将“新”更改为“旧”
问题:对集合的所有添加都导致错误,从而将所有“新”更改为“旧”
【问题讨论】:
标签: excel search collections vba