The following function will return all of the matches as one string:
Function LookUpAll(varFind As Variant, rngSearchArea As Range, intReturnCol As Integer, Optional strDelimiter = ",") As Variant
Dim rngFindItem As Range
Dim strFirstAddress As String
Dim varTempRet
varTempRet = ""
Set rngFindItem = rngSearchArea.Find(varFind, lookat:=xlWhole)
If rngFindItem Is Nothing Then
varTempRet = "#N/A"
Else
strFirstAddress = rngFindItem.Address
While Not rngFindItem Is Nothing
varTempRet = varTempRet & rngFindItem.Offset(0, intReturnCol - 1).Value & strDelimiter
Set rngFindItem = rngSearchArea.FindNext(rngFindItem)
If rngFindItem.Address = strFirstAddress Then
Set rngFindItem = Nothing
End If
Wend
varTempRet = Left(varTempRet, Len(varTempRet) - Len(strDelimiter))
End If
LookUpAll = varTempRet
End Function
The syntax to use it is:
LookUpAll(Value To Find, Range To Search, Column to Return,[Value delimiter])
Does that get you started?
Bookmarks