Друзья подскажите как объединить текст в ячейках 2-го и 3-го столбца по повторяющимся значением 1-го столбца. Желательно, что бы при это удалились дубли.
Друзья подскажите как объединить текст в ячейках 2-го и 3-го столбца по повторяющимся значением 1-го столбца. Желательно, что бы при это удалились дубли.TheArk
TheArk, добрый вечер,попробуйте макрос test или test1 в столбце D и E
[vba]
Код
Sub test() Dim z(), i&, j&, m& z = Range("A1:C" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Value With CreateObject("scripting.dictionary") For i = 1 To UBound(z) If .exists(z(i, 1)) = False Then m = m + 1: .Item(z(i, 1)) = m: For j = 1 To UBound(z, 2): z(m, j) = z(i, j): Next Else z(.Item(z(i, 1)), 2) = z(.Item(z(i, 1)), UBound(z, 2) - 1) & "," & z(i, UBound(z, 2) - 1) & "," & z(i, UBound(z, 2)) End If Next Range("D1").Resize(.Count, UBound(z, 2) - 1).Value = z End With End Sub
[/vba]
TheArk, добрый вечер,попробуйте макрос test или test1 в столбце D и E
[vba]
Код
Sub test() Dim z(), i&, j&, m& z = Range("A1:C" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Value With CreateObject("scripting.dictionary") For i = 1 To UBound(z) If .exists(z(i, 1)) = False Then m = m + 1: .Item(z(i, 1)) = m: For j = 1 To UBound(z, 2): z(m, j) = z(i, j): Next Else z(.Item(z(i, 1)), 2) = z(.Item(z(i, 1)), UBound(z, 2) - 1) & "," & z(i, UBound(z, 2) - 1) & "," & z(i, UBound(z, 2)) End If Next Range("D1").Resize(.Count, UBound(z, 2) - 1).Value = z End With End Sub