2,503
社区成员




Sub dls()
Dim i As Long
Dim arr, brr, d
Dim max_row As Long
max_row = Sheet2.[a:d].Find("*", , xlValues, , , xlPrevious).Row '获取数据列表最大行
arr = Sheet2.Range("a2:d" & max_row) '列表赋值到数组arr
Set d = CreateObject("scripting.dictionary") '新建字典
For i = 1 To UBound(arr) '字典赋值
d(arr(i, 1) & arr(i, 2) & arr(i, 3)) = arr(i, 4)
Next
brr = Sheet1.Range("b2:b4")
If d.exists(brr(1, 1) & brr(2, 1) & brr(3, 1)) Then '如果字典存在满足查询的条件,则。。。
Sheet1.Range("a7:d7").Clear
Sheet1.Range("a7:d7") = Application.Transpose(brr)
Sheet1.Range("d7") = d(brr(1, 1) & brr(2, 1) & brr(3, 1))
Else: MsgBox "no" '如果不存在,则.....
End If
End Sub