×
Показано с 1 по 2 из 2
  1. vask
    Гость

    макрос сортировки по столбцам в excel

    Добрый день!
    Я обычный пользователь, не программист, поэтому сразу мне не удалось решить такую проблему.
    Есть в "книге" много листов, данные в каждом нужно отсортировать по три столбца так: первые три по третьему, вторые три - по шестому и т.д.
    Делал так: "записать макрос, проводил выделение нужной области, проводил сортировку, переставить курсор на столбец, который через два, остановить запись макроса".
    При попытке выполнить этот записанный макрос, он всё время сортирует только, что я выделял.
    Как правильно записать/исправить макрос?
    Буду признателен за советы.
    Поделиться с друзьями

  2. Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    По-моему без написания процедуры не обойтись. ИБО! Макрос, который Вы записали "не умеет" автоматически выделять нужную область.
    Алгоритм для процедуры (которам может быть создана на основе Вами записанного макроса) на мой взгляд таков:
    1. Перейти на лист
    2. Выделить таблицу, содержащую данные
    3. Посчитать количество колонок в выделенной области
    4. Отсортировать каждые 3 колонки по третьей (пока колонки не кончатся :О) - наверное, здесь надо использовать цикл.
    5. Начать с п.1 для нового листа.

    Поправка. Есть несколько "избыточный метод", где можно попробовать обойтись только макросом, который Вы записываете.
    Для этого надо прикинуть, сколько колонок в таблице на листе в принципе может быть по максимуму. Записать макрос, который сортирует в нужном Вам порядке группы из 3 колонок для "МАКСИМАЛЬНОГО и еще на 30% побольше" количества колонок на листе (неважно, что в ДАННОй таблице колонок меньше) и запускать его для каждого листа.
    Например: Вы прикинули, что МАКСИМАЛЬНОЕ количество колонок в любой таблице книги - 9. Итого надо отсортировать 3 группы колонок.
    Записываем макрос, который сортирует не 3 группы колонок, а 5. Этим мы добьемся того, что даже при превышении на каком-либо листе книги количество колонок относительно МАКСИМАЛЬНОГО, макрос все равно будет работать, т.е, макрос мы запишем несколько "избыточный". :О)
    Надеюсь, я не очень Вас запутал...
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)