Всем доброго времени суток!
Имеется большой массив данных в одном столбце, внутри этих данных могут быть повторяющие значения, (т.е. несколько одинаковых значений идут друг за другом, в других местах они больше не встречаются, т.е. уже отсортированы). Нужно, чтобы эти повторяющие значения объединялись между собой.
В архивной теме нашел давнее решение от автора слэна привожу в примере и тут :
Данный макрос работает, но только если данные находятся в первом столбце, хотелось бы получить от макроса более универсальности, чтобы макрос работал в выделенном диапазоне. Кроме того, при работе макроса выскакивает окно, что объединение приведет к потере данных, хотелось бы от этого, по возможности, тоже избавиться.
Имеется большой массив данных в одном столбце, внутри этих данных могут быть повторяющие значения, (т.е. несколько одинаковых значений идут друг за другом, в других местах они больше не встречаются, т.е. уже отсортированы). Нужно, чтобы эти повторяющие значения объединялись между собой.
В архивной теме нашел давнее решение от автора слэна привожу в примере и тут :
Скрытый текст |
---|
Sub Макрос1() ' Dim i&, n&, arr, rn& n = Cells(Rows.Count, 1).End(xlUp).Row arr = Cells(1, 1).Resize(n) rn = 1 For i = 2 To n If arr(i, 1) <> arr(i - 1, 1) Then With Range(Cells(rn, 1), Cells(i - 1, 1)) .HorizontalAlignment = xlGeneral .VerticalAlignment = xlTop .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With rn = i End If Next End Sub |
Данный макрос работает, но только если данные находятся в первом столбце, хотелось бы получить от макроса более универсальности, чтобы макрос работал в выделенном диапазоне. Кроме того, при работе макроса выскакивает окно, что объединение приведет к потере данных, хотелось бы от этого, по возможности, тоже избавиться.