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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 20:21   #1
Radnoy
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 11
По умолчанию фильтрация по цвету

Все здравствуйте!
Имеется такой код:
Код:
Private Sub CommandButton1_Click()
    Dim cell As Range
    For Each cell In Range([c9], Range("c" & Rows.Count).End(xlUp)).cells
        With ViddForm
        If .OptionButton1 Then
        cell.EntireRow.Hidden = cell.Interior.ColorIndex = 36
        End If
        If .OptionButton2 Then
        cell.EntireRow.Hidden = cell.Interior.ColorIndex = 40
        End If
        If .OptionButton3 Then
        cell.EntireRow.Hidden = cell.Interior.ColorIndex = 43
        End If
        If .OptionButton4 Then
        cell.EntireRow.Hidden = False
        End If
        End With
    Next cell
    Application.ScreenUpdating = True
End Sub
тут всё понятно, выбираем нужный OptionButton и идёт фильтрация по цвету НО вот вопрос:
КАК фильтровать строки нескольких цветов?
типо что-то такого:
cell.EntireRow.Hidden = cell.Interior.ColorIndex = 36 And cell.EntireRow.Hidden = cell.Interior.ColorIndex = 40
но очевидно такое не работает((
Как можно это сделать?
Заранее спасибо!
Radnoy вне форума Ответить с цитированием
Старый 24.11.2009, 21:56   #2
Radnoy
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 11
По умолчанию

Всем большое спасибо!
нашёл что-то подобное
Код:
Sub FiltColor()

    Dim x As Integer, c As Long
    Application.ScreenUpdating = False
    x = ActiveCell.Interior.ColorIndex: c = ActiveCell.Column: On Error Resume Next
    For i = 1 To ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
        If Cells(i, c).Interior.ColorIndex <> x Then Rows(i).Hidden = True
    Next
      
End Sub
Sub ReFilt()

    Cells.EntireRow.Hidden = False

End Sub
Radnoy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр по цвету Flangini Microsoft Office Excel 17 02.06.2011 17:36
Фильтрация по цвету vv66 Microsoft Office Excel 8 02.10.2009 16:07
Клик по цвету -=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