Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Установить и снять фильтр в 1 sub - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Установить и снять фильтр в 1 sub (Макросы/Sub)
Установить и снять фильтр в 1 sub
lFJl Дата: Пятница, 19.02.2016, 09:12 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 6 ±
Замечаний: 0% ±

Excel 2013
Доброго дня!
Подскажите, как можно в 1 макрос и установку и снятие автофильтра сделать? чет не допру никак.
пример сделал.
[moder]Вы бы описали свою хотелку полностью. Зачем и почему Вам это?
К сообщению приложен файл: 0209842.xlsm (16.7 Kb)


Сообщение отредактировал _Boroda_ - Пятница, 19.02.2016, 09:44
 
Ответить
СообщениеДоброго дня!
Подскажите, как можно в 1 макрос и установку и снятие автофильтра сделать? чет не допру никак.
пример сделал.
[moder]Вы бы описали свою хотелку полностью. Зачем и почему Вам это?

Автор - lFJl
Дата добавления - 19.02.2016 в 09:12
Апострофф Дата: Пятница, 19.02.2016, 09:21 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 123 ±
Замечаний: 0% ±

Excel 1997
Так?
[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
[/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
[/vba]

Автор - Апострофф
Дата добавления - 19.02.2016 в 09:21
lFJl Дата: Пятница, 19.02.2016, 13:24 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 6 ±
Замечаний: 0% ±

Excel 2013
Модератор:
Вы бы описали свою хотелку полностью. Зачем и почему Вам это?

Сделать как в примере, только без использования ячейки

Цитата Апострофф, 19.02.2016 в 09:21, в сообщении № 2
[b2].Value

Да, только без использования ячейки :)
[moder]Да, вот теперь все сразу стало понятно.


Сообщение отредактировал _Boroda_ - Пятница, 19.02.2016, 13:34
 
Ответить
Сообщение
Модератор:
Вы бы описали свою хотелку полностью. Зачем и почему Вам это?

Сделать как в примере, только без использования ячейки

Цитата Апострофф, 19.02.2016 в 09:21, в сообщении № 2
[b2].Value

Да, только без использования ячейки :)
[moder]Да, вот теперь все сразу стало понятно.

Автор - lFJl
Дата добавления - 19.02.2016 в 13:24
_Boroda_ Дата: Пятница, 19.02.2016, 13:49 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Кажись, я догадался
Вот так нужно?
[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
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКажись, я догадался
Вот так нужно?
[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
[/vba]

Автор - _Boroda_
Дата добавления - 19.02.2016 в 13:49
al-Ex Дата: Пятница, 19.02.2016, 16:17 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
Опоздал, блин((
У меня вот-так получилось:[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 - Пятница, 19.02.2016, 16:34
 
Ответить
СообщениеОпоздал, блин((
У меня вот-так получилось:[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
Дата добавления - 19.02.2016 в 16:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Установить и снять фильтр в 1 sub (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!