楼主不一定要用VBA,变通一下用内置公式iferror和vlookup即可,如下示意图中公式:
若vlookup查询的值不存在,则会报错,用iferror抓取就行了。
若用VBA,数据量大和电脑配置低的时候运算效率低,另外对于不了解VBA的人来说,数据布置稍微变动后也代码维护也是困难的事情。
ps. 不仅可以用&符连接查询,还可用数组操作{Shift+Ctrl+Enter}逆向查询。
这个不是太复杂,只是今天太晚了,明天帮你弄吧
代码如下,详见附件
Private Sub CommandButton1_Click()
Dim i&, Ra As Range
Application.ScreenUpdating = False
For i = 2 To [b65536].End(3).Row
Set Ra = Sheet2.Columns("B").Find(Range("B" & i) & Range("C" & i) & Range("D" & i))
If Not Ra Is Nothing Then Range("F" & i) = Ra.Offset(0, 2)
Next
Application.ScreenUpdating = True
End Sub
我会 - - 但是你把文件发给我。。。。