Sub test()
With Sheet1
r = .Range("p:p").Find(Sheet2.Range("y16")).Row '通常查找单元格内容在vba中使用find方法,而不是vlookup函数.
m = .Cells(r, 19)
p = .Cells(r, 17)
n = .Cells(r, 18)
End With
With Sheet2
.Cells(1, 1).Resize(p, n) = Sheet1.Cells(m, 1).Resize(p, n).Value '直接赋值比copy高效
.Cells(16, 22) = m
.Cells(16, 23) = n
.Cells(16, 24) = p
End With
End Sub