本帖最后由 AFree123 于 2018-8-29 06:41 编辑
核对2表并提取指定列数据
将表“sheet1” C列与 表“2018” B列的数据进行比较。
相同,则提取 表“2018” A列的数据到与 表“2018” I列对应行的单元格内。
不同,无需操作。
表“sheet1”有效数据从第2行开始。
表“2018”有效数据从第11行开始。
两表数据很多,本例仅为部分示例。
菜鸟刚学vba,已有代码。
Sub 核对DM()
Dim d1, arr
t = Timer
Set d1 = CreateObject("Scripting.Dictionary")
arr = Sheet5.Range("A11").CurrentRegion
For i = 11 To UBound(arr)
d1("" & arr(i, 2)) = arr(i, 1)
Next With Sheet1
For i = 3 To .[C65536].End(3).Row
If d1.exists(.Cells(i, 3).Value) Then
.Cells(i, 9) = d1("" & .Cells(i, 3).Value)
Else
.Cells(i, 9) = ""
End If
Next
End With
MsgBox "一共用时:" & Format(Timer - t, "#0.0000") & " 秒", , "ABC提示您!!"
End Sub
请教大师:为何我的代码不能正确获得结果。
在比对时会遗失表“2018”有效数据的前3行数据。
该如何修改?使之能有正确的答案。
或者重新写个代码也可以。 谢谢!
|