- Sub dsmch()
- Dim arr, brr, d, i&, j%, zf$
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet1.Range("a1").CurrentRegion
- brr = Sheet2.Range("a1").CurrentRegion
- For i = 2 To UBound(brr)
- For j = 2 To UBound(brr, 2)
- zf = brr(i, 1) & "," & brr(1, j)
- d(zf) = brr(i, j)
- Next
- Next
- For i = 2 To UBound(arr)
- For j = 2 To UBound(arr, 2)
- zf = arr(i, 1) & "," & arr(1, j)
- If d.exists(zf) And d(zf) > arr(i, j) Then arr(i, j) = d(zf)
- Next
- Next
- Sheet1.Range("l1").Resize(UBound(arr), UBound(arr, 2)) = arr
- End Sub
复制代码 |