Function test(cel As Integer) As String
Dim functionRetStr As String '方法返回值
Dim currentValue As String '调用方法单元格第一列值
Dim totalRow As Long '总行
Dim rngTemp As Range '搜索
Dim rngA As Range
functionRetStr = ""
totalRow = ActiveSheet.[A65536].End(xlUp).Row
currentValue = Cells(Application.Caller.Row, 1).Value
Set rngA = Range("A1:A" & totalRow)
Set rngTemp = rngA.Find(what:=currentValue, LookAt:=xlWhole)
If Not rngTemp Is Nothing Then
firstAddress = rngTemp.Address
If IsError(ActiveSheet.Cells(rngTemp.Row, cel)) = False Then
functionRetStr = ActiveSheet.Cells(rngTemp.Row, cel).Value
End If
Do
Set rngTemp = rngA.Find(what:=currentValue, LookAt:=xlWhole, after:=rngTemp)
If IsError(ActiveSheet.Cells(rngTemp.Row, cel)) = False Then
If Not functionRetStr Like "*" & ActiveSheet.Cells(rngTemp.Row, cel).Value & "*" Then
functionRetStr = functionRetStr & "," & ActiveSheet.Cells(rngTemp.Row, cel).Value
End If
End If
Loop Until rngTemp Is Nothing Or rngTemp.Address = firstAddress
End If
Set rngTemp = Nothing
test = functionRetStr
End Function