Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2019, 00:44   #1
slava9
Новичок
Джуниор
 
Регистрация: 01.10.2019
Сообщений: 2
По умолчанию Сортировка данных

Как можно сделать постоянную сортировку?
Допустим по датам, я изменил в одной из строчек дату, нажал Enter и сразу чтоб отсортировалось. Не хочу постоянно лесть самому каждый раз сортировать.
slava9 вне форума Ответить с цитированием
Старый 01.10.2019, 09:31   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

хороший вопрос.

если по простому и эффективно - то никак.

но, разумеется, костыли можно приделать.

вариант 1. повесить функцию сортировки на событие изменения листа (например, на Worksheet_Change ). Работать будет так, как Вы хотите, но если таблица будет достаточно большой, то тормозить будет очень сильно (и чем больше таблица, тем сильнее будет тормозить).

вариант 2. реализовать сортировку в новом месте с помощью формул.
вариант пошустрее, но возни и с ним много будет. и тоже будет тормозить на очень больших таблицах.

оно Вам точно надо?

Цитата:
Сообщение от slava9 Посмотреть сообщение
Не хочу постоянно лесть самому каждый раз сортировать.
так киньте кнопку сортировки на лист и не надо никуда "лезть"...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.10.2019, 11:47   #3
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

эксцель - вид - макросы - записать - сделать - остановить

и в прямом эфире сформируется макрос
сортирующий именно что нужно например

Код:
Sub sort()
' sort 
    Range("B1:C5").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("list3").sort.SortFields.Clear
    ActiveWorkbook.Worksheets("list3").sort.SortFields.Add Key:=Range("B1"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("list3").sort
        .SetRange Range("B1:C5")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("S12").Select
End Sub
повторяю: это автоматически созданный пример

зато легко вынести кнопку макроса на панель быстрого доступа
и работа выглядит: поменяли дату - щёлк макрос - отсортировалось
ведь область сортировки включена в макрос
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 01.10.2019 в 14:04.
сфинкс вне форума Ответить с цитированием
Старый 01.10.2019, 21:50   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

slava9,
выложите сюда файл, я Вам сделаю такую сортировку
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PASCAL. Сортировка данных по размеру. Вывод корректных и некорректных данных. pro100wato Паскаль, Turbo Pascal, PascalABC.NET 8 27.04.2017 16:44
Сортировка данных Molotoklk Microsoft Office Excel 4 30.09.2011 09:37
сортировка данных (пересчет возможных вариантов комбинаций, перенос данных в таблицу) Vitalik85 Microsoft Office Excel 4 12.08.2009 00:30
Сортировка данных (зап.) fobass БД в Delphi 2 12.11.2008 17:49
Сортировка данных celovec Общие вопросы Delphi 1 01.08.2007 14:19