|
Sub test()
Dim d, arr, k As Integer, n As Integer
On Error Resume Next
Set d = CreateObject("scripting.dictionary")
arr = Sheets("上架活动").Range("a1").CurrentRegion
For k = 2 To UBound(arr)
If Not d.exists(arr(k, 4)) Then d(arr(k, 4)) = k
Next k
For k = 2 To Cells(Rows.Count, 3).End(3).Row
n = d(Cells(k, 3).Value)
Cells(k, 1) = arr(n, 3)
Cells(k, 2) = arr(n, 10)
Cells(k, 4) = arr(n, 6)
Cells(k, 5) = arr(n, 8)
Cells(k, 6) = arr(n, 9)
If Len(arr(n, 43)) <> 10 Then Cells(k, 13) = arr(n, 43) & "-01" Else Cells(k, 13) = arr(n, 43)
Cells(k, 15) = arr(n, 12)
Next k
d.RemoveAll
Erase arr
arr = Sheets("商品信息").Range("a1").CurrentRegion
For k = 2 To UBound(arr)
If Not d.exists(arr(k, 1)) Then d(arr(k, 1)) = k
Next k
For k = 2 To Cells(Rows.Count, 3).End(3).Row
n = d(Cells(k, 3).Value)
Cells(k, 14) = arr(n, 14)
Cells(k, 16) = arr(n, 15)
Next k
Cells.Font.Size = 10
End Sub
|
|