Ну вот вариант с закрытыми книгами:
Function VLOOKUPCOUPLE(Table As Variant, SearchColumnNum As Integer, SearchValue As Variant, _
RezultColumnNum As Integer, Separator_ As String)
'Table - таблица, где ищем
'SearchColumnNum - столбец, где ищем
'SearchValue - данные, которые ищем
'RezultColumnNum - колонка, откуда берём результат
'Separator_ - разделитель, желательно вводить с пробелом в конце
Dim i As Long
Select Case TypeName(Table)
Case "Range"
For i = 1 To Table.Rows.Count
If Table.Cells(i, SearchColumnNum) = SearchValue Then
If VLOOKUPCOUPLE <> "" Then
VLOOKUPCOUPLE = VLOOKUPCOUPLE & Separator_ & Table.Cells(i, RezultColumnNum)
Else
VLOOKUPCOUPLE = Table.Cells(i, RezultColumnNum)
End If
End If
Next i
Case "Variant()"
For i = 1 To UBound(Table)
If Table(i, SearchColumnNum) = SearchValue Then
If VLOOKUPCOUPLE <> "" Then
VLOOKUPCOUPLE = VLOOKUPCOUPLE & Separator_ & Table(i, RezultColumnNum)
Else
VLOOKUPCOUPLE = Table(i, RezultColumnNum)
End If
End If
Next i
End Select
If VLOOKUPCOUPLE = 0 Then VLOOKUPCOUPLE = ""
End Function
_______________________
Интеллект - величина постоянная.
А количество людей все время возрастает...Если считаете, что СПАСИБО мало: WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
The-Prist@yandex.ru