Option Explicit
Sub test()
Dim arr, brr, i, j, dic, t
Set dic = CreateObject("scripting.dictionary")
arr = Sheets("价目表").[a1].CurrentRegion
For i = 2 To UBound(arr, 1)
For j = 2 To UBound(arr, 2)
dic(arr(i, 1) & arr(1, j)) = Array(i, j)
Next j, i
brr = Sheets("筛选数据2").[a1].CurrentRegion
For i = 2 To UBound(brr, 1)
t = brr(i, 5) & brr(i, 3)
If dic.exists(t) Then
arr(dic(t)(0), dic(t)(1)) = brr(i, 8)
Else
Debug.Print i, brr(i, 5), brr(i, 3)
End If
Next
Sheets("价目表").[a1].CurrentRegion = arr
End Sub |