Сортировка данных по цвету фона ячейки с помощью VBA в Excel 2003

Заранее спасибо.

Может ли кто-нибудь помочь мне в сортировке данных с использованием цвета фона ячейки в Excel 2003.

У меня 400 строк, из которых 30 строк имеют диапазон ячеек A1, заполненный желтым цветом фона. Мне нужно отсортировать данные по цвету в VBA, чтобы уменьшить количество итераций, которые я делаю с данными (если я могу отсортировать данные, отсортированные данные будут сверху, и я могу проанализировать только 30 строк, а не зацикливать все 400 строк) .


person Venkat    schedule 07.03.2016    source источник
comment
Вкладка «Разработчик» - ›Запись макроса -› Сделать фильтр вручную - ›Остановить запись -› Alt + F11 для просмотра кода   -  person TheGuyThatDoesn'tKnowMuch    schedule 08.03.2016
comment
Я не вижу расширенной опции для сортировки в Excel 2003. Мне она нужна для сортировки по формату. Как я могу его включить? Пока не включена расширенная сортировка, запись макроса бесполезна.   -  person Venkat    schedule 08.03.2016


Ответы (1)


Начиная с Excel 2007, вы можете выполнить эту задачу, выполнив следующие действия: сначала выберите диапазон рабочего листа, затем нажмите Sort->Advanced, затем в диалоговом окне выберите параметр «Sort On» «Цвет ячейки» и настройте его. имеет отношение к вашей задаче. Вы можете использовать Macro Recorder для генерации базового кода VBA (включите его в свой пост, если хотите, чтобы мы его оптимизировали).

Применительно к Excel 2003 возможным решением будет использование вспомогательной функции, размещенной в модуле кода:

' in Excel 2003 it could be Public by default if placed in code Module
Public Function BackgroundColorIndex(myRange As Range)
    BackgroundColorIndex = myRange.Interior.ColorIndex
End Function

затем добавление этой функции к некоторому вспомогательному столбцу и сортировка значений в этом столбце. Это решение также будет работать в более поздних версиях Excel (2007+).

Надеюсь, это поможет.

person Alexander Bell    schedule 07.03.2016
comment
Я не вижу расширенного параметра сортировки в Excel 2003. Как его включить? - person Venkat; 08.03.2016
comment
Я расширил ответ, предоставив универсальное решение. С наилучшими пожеланиями, - person Alexander Bell; 08.03.2016