我有一个自定义模块,它创建一个名为“Myvlookup”的函数,它与VLOOKUP的工作方式类似,但在单个单元格中输出多个数字。这是代码:
Function MYVLOOKUP(lookupval, lookuprange As Range, indexcol As Long)
Dim r As Range
Dim result As String
result = ""
For Each r In lookuprange
If r = lookupval Then
result = result & " " & r.Offset(0, indexcol - 1)
End If
Next r
MYVLOOKUP = result
End Function
这确实有效,但我想知道我可以改变它,所以我可以在数字之间添加一个逗号。我尝试在“”之间添加它,但是在第一个数字之前创建了一个逗号,并且想知道是否有一种比添加另一行更容易删除第一个逗号的方法。
答案 0 :(得分:1)
你可以像你说的那样添加逗号,并在设置MYLOOKUP时添加一个Mid语句:
For Each r In lookuprange
If r = lookupval Then
result = result & ", " & r.Offset(0, indexcol - 1)
End If
Next r
MYVLOOKUP = Mid(result,2)
这允许您不添加另一行代码
另一种选择也是如此,但它的笨拙:
For Each r In lookuprange
If r = lookupval Then
If result = "" Then result = r.Offset(0, indexcol -1) Else: result = result & ", " & r.Offset(0, indexcol - 1)
End If
Next r