【发布时间】:2019-01-22 20:53:32
【问题描述】:
所以我有将多个值粘贴到一个单元格中的代码,但我希望能够在单元格的值之间放置一个分号。
此代码允许 vlookup 查找多个单元格值并将它们输出到一个单元格中。
Function MYVLOOKUP(pValue As String, pWorkRng As Range, pIndex As Long)
'Update 20150310
Dim rng As Range
Dim xResult As String
xResult = ""
For Each rng In pWorkRng
If rng = pValue Then
xResult = xResult & ";" & rng.Offset(0, pIndex - 1)
End If
Next
MYVLOOKUP = xResult
End Function
当我这样做时,它确实会在我想要的值之间放置一个分号,但后面还有十亿个分号。
【问题讨论】:
-
你能把
Debug.Print rng.Offset(0, pIndex - 1)放在xResult = xResult & ";" & rng.Offset(0, pIndex - 1)之前,看看会返回什么吗? -
如果您有 Office 365:
=TEXTJOIN(";",TRUE,IF(A1:A1000="MyValue",D1:D1000,""))使用 Ctrl-Shift-Enter 作为数组公式 -
@dwirony 它还有一堆 ;之后
-
@scottcraner 我在哪里添加?
-
这是您在工作表上添加的公式,将范围更改为所需的输入和输出,它不是 vba