Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2009, 22:16   #1
vv66
Пользователь
 
Регистрация: 29.08.2009
Сообщений: 22
По умолчанию Фильтрация по цвету

Приветствую Всех!
Весь вопрос в теме. Помогите отфильтровать строки по столбцу D, например, по зеленому цвету, т.е. строки с зелеными ячейками надо скрыть. Догадываюсь, что это можно сделать только через функцию определения номера цвета, но сам этого не сделаю, к сожалению.
Excel 2007 не предлагать...
Вложения
Тип файла: rar Книга.rar (6.1 Кб, 15 просмотров)
С уважением, Владимир.
vv66 вне форума Ответить с цитированием
Старый 01.10.2009, 22:31   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Попробуйте такой вариант:
Код:
Sub HideGreen()
    Dim cell As Range: Application.ScreenUpdating = False
    For Each cell In Range([d2], Range("d" & Rows.Count).End(xlUp)).Cells
        cell.EntireRow.Hidden = cell.Interior.ColorIndex = 4
    Next cell
    Application.ScreenUpdating = True
End Sub

Sub ShowAll()
    Rows.Hidden = False
End Sub
Пример файла:

EducatedFool вне форума Ответить с цитированием
Старый 01.10.2009, 22:39   #3
vv66
Пользователь
 
Регистрация: 29.08.2009
Сообщений: 22
Радость

Ну такой оперативности не ожидал!
Все в точку!
Низкий Вам поклон! Спасибо огромное!!!!!!!!!!!!!!!!!
С уважением, Владимир.
vv66 вне форума Ответить с цитированием
Старый 01.10.2009, 23:39   #4
vv66
Пользователь
 
Регистрация: 29.08.2009
Сообщений: 22
Вопрос

Немного расширенный вопрос.
Перед фильтрацией по цвету я делаю фильт. по значению.
Как подправить фил. по цвету, чтобы она проводилась по отношению к ранее отфильтрованному диапазону по значению, дабы укоротить время работы кода (список имеет тысячи строк, а фильтровать по цвету нужно диапазон где-то не более 100)?
Пример прилагается.
Вложения
Тип файла: rar Фильтрация по цвету.rar (11.5 Кб, 17 просмотров)
С уважением, Владимир.
vv66 вне форума Ответить с цитированием
Старый 01.10.2009, 23:56   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Код:
Sub HideGreen()
    Dim cell As Range: Application.ScreenUpdating = False
    For Each cell In Range([d2], Range("d" & Rows.Count).End(xlUp)).Cells
        If cell.Interior.ColorIndex = 4 Then cell.EntireRow.Hidden = True
    Next cell
    Application.ScreenUpdating = True
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 02.10.2009, 00:07   #6
vv66
Пользователь
 
Регистрация: 29.08.2009
Сообщений: 22
Хорошо

Искренне Вам благодарен!
С уважением, Владимир.
vv66 вне форума Ответить с цитированием
Старый 02.10.2009, 13:52   #7
vv66
Пользователь
 
Регистрация: 29.08.2009
Сообщений: 22
Вопрос

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код:
Sub HideGreen()
    Dim cell As Range: Application.ScreenUpdating = False
    For Each cell In Range([d2], Range("d" & Rows.Count).End(xlUp)).Cells
        If cell.Interior.ColorIndex = 4 Then cell.EntireRow.Hidden = True
    Next cell
    Application.ScreenUpdating = True
End Sub
Извените за назойливость, а если к ячейкам применино условное форматирование?..
С уважением, Владимир.
vv66 вне форума Ответить с цитированием
Старый 02.10.2009, 14:05   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
а если к ячейкам применино условное форматирование?
Что значит "если"? Вы вручную красите ячейки, или применяете УФ?

Как Вам уже сказал The_Prist, данный код не будет работать для цветов, отображаемых при помощи условного форматирования.

Для условного форматирования код будет другой. Переписывать не буду.
Надо было сразу говорить.
EducatedFool вне форума Ответить с цитированием
Старый 02.10.2009, 16:07   #9
vv66
Пользователь
 
Регистрация: 29.08.2009
Сообщений: 22
По умолчанию

Уважаемый EducatedFool!
У меня ячейки красятся вручную, по-этому все нормально.
Вопрос был поставлен чисто в образовательных целях.
Еще раз благодарю Вас за помощь!
С уважением, Владимир.
vv66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр по цвету Flangini Microsoft Office Excel 17 02.06.2011 17:36
Клик по цвету -=L.Morgan=- Помощь студентам 3 01.07.2009 11:32
Фильтронуть по цвету Nikita12345 Microsoft Office Excel 1 19.05.2009 15:54
Равенство по цвету snakezx Microsoft Office Excel 1 30.03.2009 12:11
От яркости пикселя к его цвету -=<[Evklidd]>=- Общие вопросы Delphi 5 22.02.2008 15:05