Доброго времени суток. Помогите решить задачу. Как-то попадалось решение через пользовательскую функцию, но сейчас не могу найти. Столбцы в оригинальной таблице расположены именно так. Артикул может повторятся столько раз, сколько у него адресов. Необходимо собрать все значения адреса через запятую для каждого артикула , и то же самое с количеством. Спасибо.
Доброго времени суток. Помогите решить задачу. Как-то попадалось решение через пользовательскую функцию, но сейчас не могу найти. Столбцы в оригинальной таблице расположены именно так. Артикул может повторятся столько раз, сколько у него адресов. Необходимо собрать все значения адреса через запятую для каждого артикула , и то же самое с количеством. Спасибо.Den_Den
Function ВПР2(ByVal Art, Rng As Range, ByVal ColNum As Long) As String Dim i&, v() If TypeName(Art) = "Range" Then Art = Art.Value v = Rng.Value For i = 1 To UBound(v) If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & v(i, ColNum) Next If Len(ВПР2) Then ВПР2 = Mid$(ВПР2, 3) End Function
[/vba]
UPD Чтоб убить лишние пробелы в адресах, измените строчку: [vba]
Код
If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & Trim$(v(i, ColNum))
[/vba]
Доброе утро! Можно так: [vba]
Код
Function ВПР2(ByVal Art, Rng As Range, ByVal ColNum As Long) As String Dim i&, v() If TypeName(Art) = "Range" Then Art = Art.Value v = Rng.Value For i = 1 To UBound(v) If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & v(i, ColNum) Next If Len(ВПР2) Then ВПР2 = Mid$(ВПР2, 3) End Function
[/vba]
UPD Чтоб убить лишние пробелы в адресах, измените строчку: [vba]
Код
If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & Trim$(v(i, ColNum))