Доброго дня! Подскажите, как можно в 1 макрос и установку и снятие автофильтра сделать? чет не допру никак. пример сделал. [moder]Вы бы описали свою хотелку полностью. Зачем и почему Вам это?
Доброго дня! Подскажите, как можно в 1 макрос и установку и снятие автофильтра сделать? чет не допру никак. пример сделал. [moder]Вы бы описали свою хотелку полностью. Зачем и почему Вам это?lFJl
Sub фил2() If [b2].Value = 1 Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter 'Field:=1 [b2].Value = 0 Else 'If [b2].Value = 0 Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:= _ RGB(255, 255, 0), Operator:=xlFilterCellColor [b2].Value = 1 End If End Sub
[/vba]
Так? [vba]
Код
Sub фил2() If [b2].Value = 1 Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter 'Field:=1 [b2].Value = 0 Else 'If [b2].Value = 0 Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:= _ RGB(255, 255, 0), Operator:=xlFilterCellColor [b2].Value = 1 End If End Sub
Sub tt() If ActiveSheet.ListObjects("Таблица1").AutoFilter.FilterMode Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1 Else ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:= _ RGB(255, 255, 0), Operator:=xlFilterCellColor End If End Sub
[/vba]
Кажись, я догадался Вот так нужно? [vba]
Код
Sub tt() If ActiveSheet.ListObjects("Таблица1").AutoFilter.FilterMode Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1 Else ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:= _ RGB(255, 255, 0), Operator:=xlFilterCellColor End If End Sub
Sub фильтер() If ActiveSheet.FilterMode = True Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1 Exit Sub End If If ActiveSheet.FilterMode = False Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:= _ RGB(255, 255, 0), Operator:=xlFilterCellColor Exit Sub End If End Sub
[/vba] Тут фишка в свойстве FilterMode : Свойство FilterMode. Допустимые значения: True (если на рабочем листе имеются отфильтрованные данные со скрытыми строками), False (в противном случае) Вот еще полезное: Свойство AutoFilterMode. Допустимые значения: True (если на рабочем листе выведены раскрывающиеся списки метода AutoFilter), False (в противном случае). Вот здесь, ясно расписано.
Опоздал, блин(( У меня вот-так получилось:[vba]
Код
Sub фильтер() If ActiveSheet.FilterMode = True Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1 Exit Sub End If If ActiveSheet.FilterMode = False Then ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:= _ RGB(255, 255, 0), Operator:=xlFilterCellColor Exit Sub End If End Sub
[/vba] Тут фишка в свойстве FilterMode : Свойство FilterMode. Допустимые значения: True (если на рабочем листе имеются отфильтрованные данные со скрытыми строками), False (в противном случае) Вот еще полезное: Свойство AutoFilterMode. Допустимые значения: True (если на рабочем листе выведены раскрывающиеся списки метода AutoFilter), False (в противном случае). Вот здесь, ясно расписано.al-Ex
Сообщение отредактировал al-Ex - Пятница, 19.02.2016, 16:34