Мур, если у вас так много строк, то ничего быстрее и проще макроса не придумать:[vba]
Код
Sub Sort_Sel_Up() ' сортировка по первому столбцу в Selection по возрастанию ' для сортировки по второму столбцу Key1:=Selection(1, 2) и т.п. Selection.Sort Key1:=Selection(1, 1), Order1:=xlAscending, MatchCase:=False End Sub
Sub Sort_Sel_Down() ' сортировка по первому столбцу в Selection по убыванию ' для сортировки по второму столбцу Key1:=Selection(1, 2) и т.п. Selection.Sort Key1:=Selection(1, 1), Order1:=xlDescending, MatchCase:=False End Sub
[/vba]
Мур, если у вас так много строк, то ничего быстрее и проще макроса не придумать:[vba]
Код
Sub Sort_Sel_Up() ' сортировка по первому столбцу в Selection по возрастанию ' для сортировки по второму столбцу Key1:=Selection(1, 2) и т.п. Selection.Sort Key1:=Selection(1, 1), Order1:=xlAscending, MatchCase:=False End Sub
Sub Sort_Sel_Down() ' сортировка по первому столбцу в Selection по убыванию ' для сортировки по второму столбцу Key1:=Selection(1, 2) и т.п. Selection.Sort Key1:=Selection(1, 1), Order1:=xlDescending, MatchCase:=False End Sub
Добрый день, Alex_ST. Спасибо за помощь, я бы и рад макросом, но у меня и формулами-то не очень . Попробую разобраться:Selection.Sort Key1:=Selection(1, 1), Order1:=xlAscending, MatchCase:=False End Sub - это собственно сортировка, а как задать дипазон для сортировки и определить событие по которуму запускается макрос? Мне, например, необходимо, чтобы этим событием было добавление данных в диапазон сортировки.
Добрый день, Alex_ST. Спасибо за помощь, я бы и рад макросом, но у меня и формулами-то не очень . Попробую разобраться:Selection.Sort Key1:=Selection(1, 1), Order1:=xlAscending, MatchCase:=False End Sub - это собственно сортировка, а как задать дипазон для сортировки и определить событие по которуму запускается макрос? Мне, например, необходимо, чтобы этим событием было добавление данных в диапазон сортировки.Мур
Мурат, ну ведь там же в комментариях написано, что сортируется диапазон выбранных в данный момент ячеек - Selection, там же написано, как изменить столбец, по которому сортируется...
Прицепить вызов макроса к событию добавления данных в диапазон сортировки может быть и можно, но не хочется разбираться в логике и последовательности ввода данных. Удобнее и проще всего вызывать его по нажатию на выведенную на лист кнопку, выделив сначала сортируемый диапазон.
Мурат, ну ведь там же в комментариях написано, что сортируется диапазон выбранных в данный момент ячеек - Selection, там же написано, как изменить столбец, по которому сортируется...
Прицепить вызов макроса к событию добавления данных в диапазон сортировки может быть и можно, но не хочется разбираться в логике и последовательности ввода данных. Удобнее и проще всего вызывать его по нажатию на выведенную на лист кнопку, выделив сначала сортируемый диапазон.
Добрый вечер.Второй день пытаюсь вставить в код сортировку не сверху вниз,а слева направо.И макрекордером записывал,пробовал вставлять-не работает.Чего то не понимаю.
Добрый вечер.Второй день пытаюсь вставить в код сортировку не сверху вниз,а слева направо.И макрекордером записывал,пробовал вставлять-не работает.Чего то не понимаю.megavlom
Здравствуйте.Макрос работает.Думал,что будет сразу сортировка без копирования.Нашел ,где добавить код для сортировки "родного" макроса- только сортирует медленно.Спасибо.
Здравствуйте.Макрос работает.Думал,что будет сразу сортировка без копирования.Нашел ,где добавить код для сортировки "родного" макроса- только сортирует медленно.Спасибо.megavlom
И еще, в этом варианте мой файл становиться неподъемным (5 тысяч ячеек с указанной формулой) и тяжелым, может дело не в формуле, а в чем-то другом?
Здравствуйте Мур, простите за любопытство, а зачем вам 2 разных сортировки такого огромного списка? Что вы с ним дальше делаете, распечатываете для сдачи в архив? Если сортировка нужна только для упрощения визуального поиска, то это гораздо проще делать автофильтром - там уже всё отсортировано. Или, Возможно, ваша проблема решается проще какими-то иными средствами.
Quote (Мур)
И еще, в этом варианте мой файл становиться неподъемным (5 тысяч ячеек с указанной формулой) и тяжелым, может дело не в формуле, а в чем-то другом?
Здравствуйте Мур, простите за любопытство, а зачем вам 2 разных сортировки такого огромного списка? Что вы с ним дальше делаете, распечатываете для сдачи в архив? Если сортировка нужна только для упрощения визуального поиска, то это гораздо проще делать автофильтром - там уже всё отсортировано. Или, Возможно, ваша проблема решается проще какими-то иными средствами.Формуляр
Excel 2003 EN, 2013 EN
Сообщение отредактировал Формуляр - Понедельник, 15.08.2011, 12:55
Всех приветствую. Решил продолжить в старой теме. Как организовать динамическую сортировку диапазона с текстовыми значениями? Поискал в литературе и, не нашел....
Всех приветствую. Решил продолжить в старой теме. Как организовать динамическую сортировку диапазона с текстовыми значениями? Поискал в литературе и, не нашел....Мур
Формуляр, Приветствую. Нет, разобраться самостоятельно не получается. С индексом все понятно, а вот манипуляции с "СЧЁТЕСЛИ($A$1:$A$5; "<" & A1:A5)", не понятно что считается. Если можно, прокомментируйте пожалуйста всю формулу.
Формуляр, Приветствую. Нет, разобраться самостоятельно не получается. С индексом все понятно, а вот манипуляции с "СЧЁТЕСЛИ($A$1:$A$5; "<" & A1:A5)", не понятно что считается. Если можно, прокомментируйте пожалуйста всю формулу.Мур
Добрый день, Формуляр. Прошу прощенья за свою непонятливость. Что значит порядковый номер сортировки? Это в СЧЁТЕСЛИ($A$1:$A$5; "<=" & A1:A5). И почему в первом примере "<"&, а во втором "<="& ? Это для работы с текстом? Если да, то принцип? И в чем разница? Организовать свою сортировку по образцу пока не смог, пытаюсь разобраться. У меня есть пустые строки, возможно там засада.
Добрый день, Формуляр. Прошу прощенья за свою непонятливость. Что значит порядковый номер сортировки? Это в СЧЁТЕСЛИ($A$1:$A$5; "<=" & A1:A5). И почему в первом примере "<"&, а во втором "<="& ? Это для работы с текстом? Если да, то принцип? И в чем разница? Организовать свою сортировку по образцу пока не смог, пытаюсь разобраться. У меня есть пустые строки, возможно там засада.Мур
Это порядковый номер в сортированном списка (т.е. по алфавиту). Сколько строк "меньше" заданной, на таком месте она должна располагаться при сортировке.
"<" на "<=" заменил чтоб не прибавлять потом 1, а так - разницы нет.
Quote (Мур)
У меня есть пустые строки, возможно там засада.
Какой пример - такое решение. Ни пропусков ни дублей в примере нету. Доработал формулу.
Мур, добрый день.
Quote (Мур)
Что значит порядковый номер сортировки?
Это порядковый номер в сортированном списка (т.е. по алфавиту). Сколько строк "меньше" заданной, на таком месте она должна располагаться при сортировке.
"<" на "<=" заменил чтоб не прибавлять потом 1, а так - разницы нет.
Quote (Мур)
У меня есть пустые строки, возможно там засада.
Какой пример - такое решение. Ни пропусков ни дублей в примере нету. Доработал формулу.Формуляр