|
Sub test()
Dim d As Object, arr, brr, crr(), i& '定义d为变量,i为长整型变量
Set d = CreateObject("scripting.dictionary") '创建字典,并把字典对象赋值给变量d
arr = Sheet1.Range("a1").CurrentRegion: brr = Sheet2.Range("a1").CurrentRegion 'arr为表1当前区域,brr为表2当前区域
ReDim crr(1 To UBound(arr)) '重新定义动态数组crr为表1的最大上界
For i = 2 To UBound(brr) '从2开始到表2最大上界间循环
d(brr(i, 3)) = "" 'brr(i, 3)就是表2的C列的值
Next i
For i = 2 To UBound(arr) '从2开始到表1最大上界间循环
If d.exists(arr(i, 9)) Then '如果字典中存在关键字表1中的C列
crr(i - 1) = "已续保"
Else
crr(i - 1) = "未续保" '那么数组crr的值就是已续保,否则就是未续保
End If
Next i
Sheet1.Range("q2").Resize(UBound(arr) - 1, 1) = WorksheetFunction.crr '表1的H2列单元格连续显示crr当前工作表的值
End Sub
用sheet1清单I列匹配sheet2大表起保C列,如果匹配成功就在sheet1清单的Q列显示已续保,否则显示未续保,但是在运行代码时总是提示错误。请大神帮忙看看哪里出错了?
|
|