Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Отфильтровать колонки от меньшего значения к большему
 
Добрый день!

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

При записи макроса получается вот такой код. Это для первого действия - Фильтр по формату. Далее код повторяется 5 раз, меняются строки к которым применяется фильтр.
Код
Range(ActiveCell, ActiveCell.End(xlDown)).Select
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("F1:O1") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Лист1").Sort
        .SetRange Range("F1:O13")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlLeftToRight
        .SortMethod = xlPinYin
        .Apply
    End With

Как поменять код, чтобы размер фильтруемой таблицы менялся автоматом и сам фильтр применялся ко всем блокам таблицы? В примере 2 блока, их может быть сколько угодно. По колонке Е в каждом блоке от слова Формат до слова Разница необходимо отфильтровать столбцы справа.
Есть какие идеи? Либо, можно это разбить на несколько последовательных простых действий?

Спасибо!
 
Андрей Неизвестный, код следует оформлять соответствующим тегом: ищите такую кнопку (см. скрин) и исправьте своё сообщение.
Тег VBA.jpg (19.2 КБ)
Страницы: 1
Читают тему (гостей: 1)
Наверх