Профессиональные приемы работы в Microsoft Excel

Технические вопросы => Общение => Тема начата: MishkaKosolapij от 08.10.2009, 23:04

Название: Можно ли в Excel 2003 произвести сортировку по цвету ячейки ?
Отправлено: MishkaKosolapij от 08.10.2009, 23:04
Уважаемые специалисты.
Часто пользуюсь таблицами с данными, которые нужно часто сортировать. Ячейки, содержащие "однородные" данные закрашиваю в одинаковые цвета.
Если нельзя штатными методами, то можно ли нештатными, не переустанавливая MS ?
Заранее благодарен за ответ.
Название: Re: Можно ли в Excel 2003 произвести сортировку по цвету ячейки ?
Отправлено: Алексей Шмуйлович от 09.10.2009, 13:42
Нужно пользовательскую функцию написать, выводящую цвет ячейки.
Примерно так.

Function цвет(cl As Range)
    цвет = cl.Interior.Color
End Function

Помещаем в публичный модуль VBA и можно использовать функцию =цвет() в ячейках.
По результатам можно сортировать строки.
Название: Re: Можно ли в Excel 2003 произвести сортировку по цвету ячейки ?
Отправлено: MishkaKosolapij от 10.10.2009, 01:01
Алексей Шмуйлович, большое спасибо.
Попробую реализовать. Для неглубокого специалиста немного сложновато, но тем почётней будет положительный результат.
С уважением.
Название: Re: Можно ли в Excel 2003 произвести сортировку по цвету ячейки ?
Отправлено: MimAvde от 29.10.2009, 13:17
В принципе, можно и без макросов обойтись (если место в таблице позволяет). Копируем ОФОРМЛЕНИЕ колонки (с помощью метёлки либо Copy->Paste Special... и в опциях выбираем Formats), по которой нужно провести фильтрацию, в любую свободную колонку.
Далее, для этой новой колонки делаем замену по формату (Edit->Replace и нажимаем кнопку Options>>). Для Find what: выбираем нужный нам формат (по которому нужно отфильтровать) нажатием появившейся кнопки Format..., а для Replace with:, например, единичку
И потом фильтруем по новой колонке по единичкам.
Но этот вариант, конечно, не отслеживает изменений...