Function Adr(Diap As Range, Poisk) ar = Diap.Value If IsArray(ar) Then For j = 1 To UBound(ar, 2) For i = 1 To UBound(ar) If ar(i, j) = Poisk Then z_ = z_ & Diap(i, j).Address(0, 0) End If Next i Next j Else If ar = Poisk Then z_ = Diap.Address(0, 0) End If End If Adr = z_ End Function
[/vba] На листе вводится так
Код
=Adr(A1:C3;1)
В файле выложить не могу, безопасность блокирует. Самостоятельно в файл вставите?
UDF-ka [vba]
Код
Function Adr(Diap As Range, Poisk) ar = Diap.Value If IsArray(ar) Then For j = 1 To UBound(ar, 2) For i = 1 To UBound(ar) If ar(i, j) = Poisk Then z_ = z_ & Diap(i, j).Address(0, 0) End If Next i Next j Else If ar = Poisk Then z_ = Diap.Address(0, 0) End If End If Adr = z_ End Function
[/vba] На листе вводится так
Код
=Adr(A1:C3;1)
В файле выложить не могу, безопасность блокирует. Самостоятельно в файл вставите?_Boroda_
Почти. Только лишнюю запятую убрать в конце потом. Но мне больше нравится сначала убирать [vba]
Код
Function Adr(Diap As Range, Poisk) ar = Diap.Value If IsArray(ar) Then del_ = "," For j = 1 To UBound(ar, 2) For i = 1 To UBound(ar) If ar(i, j) = Poisk Then z_ = z_ & del_ & Diap(i, j).Address(0, 0) End If Next i Next j z_ = Mid(z_, Len(del_) + 1) Else If ar = Poisk Then z_ = Diap.Address(0, 0) End If End If Adr = z_ End Function
[/vba]
Почти. Только лишнюю запятую убрать в конце потом. Но мне больше нравится сначала убирать [vba]
Код
Function Adr(Diap As Range, Poisk) ar = Diap.Value If IsArray(ar) Then del_ = "," For j = 1 To UBound(ar, 2) For i = 1 To UBound(ar) If ar(i, j) = Poisk Then z_ = z_ & del_ & Diap(i, j).Address(0, 0) End If Next i Next j z_ = Mid(z_, Len(del_) + 1) Else If ar = Poisk Then z_ = Diap.Address(0, 0) End If End If Adr = z_ End Function