|
楼主 |
发表于 2020-2-11 15:47
|
显示全部楼层
本帖最后由 cj19 于 2020-2-11 16:12 编辑
里面的语句不太看得懂,只知道改数组里面的列数,但我改了之后报错。
所以我根据真实数据的列数重新做了“示例表格v2”,您能帮我看看问题在哪里吗? 顺便帮我改下代码。谢谢!!
最终目的:将数据源表的"可售数量,预留数量,入库数量,建票未发货",提取到最终表对应的列。
我改后的代码,如下:
Sub 匹配()
Dim d As Object
Set d = CreateObject("scripting.dictionary")
Dim ar As Variant
Dim br As Variant
br = Sheets("数据源").[a1].CurrentRegion
With Sheets("最终表")
ws = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("b2:d" & ws) = Empty
ar = .Range("a1:d" & ws)
For i = 2 To UBound(ar)
If Trim(ar(i, 1)) <> "" Then
d(Trim(ar(i, 1))) = i
End If
Next i
For i = 2 To UBound(br)
m = d(Trim(br(i, 1)))
If m <> "" Then
ar(m, 4) = br(i, 11) '''预留数据目前取得是C列,可根据你自己需要修改br数组的列号即可
ar(m, 5) = br(i, 13)
ar(m, 6) = br(i, 17)
ar(m, 7) = br(i, 16)
End If
Next i
.Range("a1:d" & ws) = ar
End With
MsgBox "ok!"
End Sub
|
|