vlookup只能返回第一个值,如何用vba建立一新的函数将对应所有值用|连接在一起输出在一个格里?

如题所述

'你只需要将A列和B列填些数值,A列弄查找值,B列弄对应数值
Sub text()
Range("D:E").ClearContents
Dim RNG As Range, RNG1 As Range, RNG3 As Range
Set RNG = Range("A1", [A1].End(xlDown))
For Each RNG1 In RNG
If Range("D:D").Find(RNG1) Is Nothing Then
Set RNG3 = Cells(Rows.Count, "D").End(xlUp)(2, 1)
RNG3 = RNG1
RNG3(1, 2) = RNG1(1, 2)
Else
Range("D:D").Find(RNG1)(1, 2) = Range("D:D").Find(RNG1)(1, 2) & "|" & RNG1(1, 2)
End If
Next
End Sub追问

定义公式不是用function吗?为什么用sub,公式输在哪一列?

要实现这样的效果,怎么弄?

温馨提示:答案为网友推荐,仅供参考