Добрый день. Нужно прописать формулу, что бы результат был как в ячейке В22. Сейчас собирает В20, но при большом количестве данных все не входит
Добрый день. Нужно прописать формулу, что бы результат был как в ячейке В22. Сейчас собирает В20, но при большом количестве данных все не входитMaksim156
Function pervomaj(r As Range) Dim a(), i&, arr, t$, k, s$ a = r.Value With CreateObject("Scripting.Dictionary"): .comparemode = 1
For i = 1 To UBound(a) If a(i, 2) > 0 Then arr = Split(a(i, 1), ",") t = Trim(arr(0)) .Item(t) = .Item(t) & ", " & Trim(arr(1)) & " (" & a(i, 2) & ")" End If Next For Each k In .keys s = s & ", " & k & ", " & Mid(.Item(k), 3) Next End With pervomaj = Mid(s, 3) End Function
[/vba] Если не нравится первомай - название можете поменять
[vba]
Код
Function pervomaj(r As Range) Dim a(), i&, arr, t$, k, s$ a = r.Value With CreateObject("Scripting.Dictionary"): .comparemode = 1
For i = 1 To UBound(a) If a(i, 2) > 0 Then arr = Split(a(i, 1), ",") t = Trim(arr(0)) .Item(t) = .Item(t) & ", " & Trim(arr(1)) & " (" & a(i, 2) & ")" End If Next For Each k In .keys s = s & ", " & k & ", " & Mid(.Item(k), 3) Next End With pervomaj = Mid(s, 3) End Function
[/vba] Если не нравится первомай - название можете поменять Hugo