Здравствуйте. Прошу извинить, если задача слишком тривиальная, я новичок в этом. Необходимо отсортировать строки (вместе со ячейками, в которых значения) по возрастанию значений в ячейке, при этом в пределах одного id (см. скриншот). Строк довольно большое количество, но все они следуют правилу - на один id n (константа) строк, id (текстовые) изначально расположены так, чтобы не перемешиваться (что должно облегчить задачу). Думаю, что проще всего будет сделать решение в виде макроса (т.к. для разных файлов/лиcтов могут быть разные n), в котором будут указываться столбец, где содержатся id, количество строк на один id и столбец со значениями. Скриншот: https://dl.dropboxusercontent.com/u/29614570/Xls.png
Sub bb()
Dim i&, j&
j = 2
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row + 1
If Cells(i, 1) <> Cells(j, 1) Then
Range(Cells(j, 3), Cells(i - 1, 3)).Sort Cells(j, 3), xlAscending, Header:=xlNo
j = i
End If
Next
End Sub
Спасибо. Ваш код частично работает. Сортируется в пределах столбца, а необходимо сортировать вместе со всеми соседними столбцами, т.е. целые строки переставлять. Извиняюсь за скрин в первом посте, там не совсем это ясно. Лучше см. прикреплённый файл. Есть ещё одна просьба - т.к. я новичок, то не могли бы вы, пожалуйста, добавить комментарии, какая переменная/какое значениия отвечают за номер столбца с id, за номер столбца со значениями, за количество строк на один id.
FuncX, можно было и здесь вопрос задать, а не писать в личку - для этого и форум создан. Если нужно сортировать не по столбцу С (это тройка в коде), то поменяйте везде тройку на нужный номер: D - это будет четвёрка))