如何使用自定义模块在数字之间添加逗号

时间:2015-11-20 13:55:44

标签: excel excel-vba vlookup vba

我有一个自定义模块,它创建一个名为“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

这确实有效,但我想知道我可以改变它,所以我可以在数字之间添加一个逗号。我尝试在“”之间添加它,但是在第一个数字之前创建了一个逗号,并且想知道是否有一种比添加另一行更容易删除第一个逗号的方法。

1 个答案:

答案 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