Страницы: 1
RSS
Сортировка внутри группировок
 
Добрый день! В экселе возможно выделить все строки, которые сгруппированы по разделам, и отсортировать их по любому из столбцов. Но так, чтобы сортировались только строки внутри групп...

В реальном прайсе около 6000 строк и более 100 разделом. Например отсортировать все строки по цене.
 
Если разделы отделены пустой строкой как в примере, то
Код
Sub St()
Dim r As Range
  For Each r In Range("B2", Cells(Rows.Count, "B").End(xlUp)).SpecialCells(xlCellTypeConstants).Areas
    r.Resize(, 4).Sort r, xlAscending, Header:=xlYes
  Next
End Sub
Изменено: Казанский - 02.04.2018 22:12:21
 
Добрый день! А можно написать макрос для реального прайса. Нужно отсортировать по артикулу, а в отсортированном по артикулу списке отсортировать по цене!!!!!

Спасибо.
 
stalker138013, в файле четыре уровня группировки. Нужно сортировать внутри какого уровня? Например строки 5 - 35 - это уровень 2. Нужно сделать сортировку строк 5 - 35?
 
Цитата
stalker138013 написал:
Нужно отсортировать по артикулу, а в отсортированном по артикулу списке отсортировать по цене!!!!!
Просто сцепи 2 поля и сортируй по сцепке

Пример:
Есть Динозавр весом 2 кг
Дракон весом 1 кг
Динозавр весом 3 кг
Дракон 2 кг

Сцепив название с весом и отсортировав получишь:
Динозавр1
Динозавр2
Дракон1
Дракон2

P.S.
1) Сортировка должна быть однородная (ASC или DESC, но без комбинаций)
2) Сравнение должно придерживаться типа "строка"
Вся проблема сложных программ, целых томов кодов и состоит в несоблюдении принципа лезвия Оккама: «Не следует множить сущее без необходимости». Вся гениальность в простоте.
 
Доброго дня! Подскажите для не опытного пользователя, как сделать сортировку в одном столбце по алфавиту и в нем же по числам, а то получается
б 1
б 102
б 103
б 40
б 405
а хочется
б 1
б 40
б 102
б 103
б 405
 
1. Вопрос не по теме.
2. Читайте личку и правила форума
Страницы: 1
Наверх