Страницы: 1
RSS
Сортировка по результату пересчета формулы
 
День добрый, может кто сталкивался с сортировкой в столбце формуле/

Значения столбца F:
1 значение:   (формула:      ='Учет проектов'!$E26-СЕГОДНЯ()  ), где  E26 (дата)  с данной формулы мы  получаем  ( -25) в ячейке.
2 значение:    ( системно-типавая задача ) - простой текст.


Пытаюсь сортировать минуса, а именно:
-1
-2
-3
и тд.  
 
Код
Sub ColorSort()
 Worksheets("Лист1").Range("F:F").Sort Worksheets("Лист1").Range("F3"), xlAscending
End Sub
вот этот метод рабочий на голой таблице..... но на рабочей он не отрабатывает даже этого функционала, что в нем есть..
 
vsolovev, у Вас тоже нет файла-примера?
 
Код
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("L17:L19"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Лист1").Sort
        .SetRange Range("K17:L19")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Пример с макрорекордера. думаю логику поймете
 
Цитата
Юрий М написал:
у Вас тоже нет файла-примера?
перекроил его, но суть я думаю понятна
 
Цитата
///
Изменено: vsolovev - 03.09.2018 15:03:23
 
сортирует, но ссылки сбиваются,

в строке 3  руками переписывал формулу  =Лист1!$E3-СЕГОДНЯ(), в результате ########
в строке 7, ссылка смотрит на строку 8.
Можете подсказать куда копать?
 
Поменяйте формулу
Код
=Лист1!$E3-СЕГОДНЯ()
на
Код
=$E3-СЕГОДНЯ()
Много решеток  означает отрицательное число в ячейке, отформатированной как дата, поправьте формат ячейки.
Изменено: Alec Perle - 03.09.2018 15:50:52
 
Код
=$E3-СЕГОДНЯ() -----помогло
еще стоит вопрос возврата в исходное состояния, до сортировки. КАК сбросить сортировку?
 
подскажите, как отменить сортировку? Данный код сортирует но вернуть в начальное состояние не получается
Код
Sub ColorSort()
 ActiveWorkbook.Worksheets("Учет проектов").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Учет проектов").Sort.SortFields.Add Key:=Range("F3:F999"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Учет проектов").Sort
        .SetRange Range("C3:N999")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Никак.
 
Перед сортировкой сбоку создаете отдельный столбик (можно скрыть) со значениями 1-2-3-... Если такой столбик уже есть, то ничего не делаем (потому, что если столбик есть то это значит, что сортировка уже была произведена ранее по крайней мере один раз). И когда нужно отсортировать все до первоначального уровня, то сортируем по этому столбику
Скажи мне, кудесник, любимец ба’гов...
Страницы: 1
Наверх