Возможна ли сортировка по более чем трем условиям?

Автор koskos, 26 января 2015, 17:51

0 Пользователи и 1 гость просматривают эту тему.

JohnSUN

Ну, в документации они этот самый MaxSortFieldsCount пометили как readonly... Наверное, что-то про него знают...
А правильной ручной сортировки на исходном Test1.ods я добиться не смог.

Вот так и бывает: у одних не сортирует, но MsgBox не глючит, а у других с сортировкой нет проблем, а текст сообщения режется.
Зато не скучно!
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Rafik

Ручная сортировка у меня работает нормально, т.е. по всем четырем колонкам прекрасно сортирует как тестовый файл, так и рабочий.
Пока для макроса использую костыль: в служебную колонку помещаю "МНН" & "ТН" и сортирую по "Вид"+Служебная+"Дозировка". Благо дело, скорость работы макроса для меня не критичен: пока он "пережевывает" таблицу и собирает данные для анализа, я делаю другую работу. Самое главное для меня - это не собирать данные вручную.

JohnSUN

Смутно вспоминается, что Вирт расписывая в своей "Программы=алгоритмы+структуры данных" разные методы сортировки, каждый раз уточнял - разрушающий это способ или нет (насчет самого слова "разрушающий" не уверен - давно читал). Но фишка в том, что сортировка, используемая в электронных таблицах, обычно "не разрушающая". То есть, мы имеем полное право отсортировать несколько раз последовательно (задом наперед - сначала последние критерии, а потом первые) и получим тот же самый результат, что и при одновременном применении нескольких критериев. Другими словами, каждая последующая сортировка не меняет порядок уже отсортированных записей.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Цитата: JohnSUN от  5 октября 2016, 09:56Другими словами, каждая последующая сортировка не меняет порядок уже отсортированных записей.
Это да, если сначала поставить курсор в столбец "Дозировка" (если вокруг диапазона нет "мусора", то он правильно выделится и отсортируется) и отсортировать по возрастанию, а затем применить макрос, результат будет правильный (предваритильная сортировка не разрушится).

Но речь не о способах сортировки, а об "рукавицах забытых в коде" ???