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

Вход

Регистрация

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

 

= Мир MS Excel/Привязка фильтра "между" к ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Привязка фильтра "между" к ячейке
ceHnau Дата: Вторник, 06.07.2021, 16:20 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 20% ±

2016
Здравствуйте!

Требуется, чтобы при вводе в ячейку значения и нажатия кнопки запуска макроса, происходила фильтрация по заданному значению ± указанные в макросе допуски. Т.е. аналоги фильтра "между".

Записал макросом действия стандартного фильтра "между" с критерием от 5 до 15:
[vba]
Код
Sub Фильтр_между()
    ActiveSheet.Range("$A$4:$A$39").AutoFilter Field:=1, Criteria1:=">=5", _
        Operator:=xlAnd, Criteria2:="<=15"
End Sub
[/vba]

Знания VBA нет, пробовал так (I1 - целевая ячейка со значением, в данном случае 10):
[vba]
Код
Sub Фильтр_между()
    ActiveSheet.Range("$A$4:$A$39").AutoFilter Field:=1, Criteria1:=">=I1-5", _
        Operator:=xlAnd, Criteria2:="<=I1+5"
End Sub
[/vba]

И так:
[vba]
Код
Sub Фильтр_между()
    ActiveSheet.Range("$A$4:$A$39").AutoFilter Field:=1, Criteria1:=">=[I1]-5", _
        Operator:=xlAnd, Criteria2:="<=[I1]+5"
End Sub
[/vba]

Ничего не вышло. Не подскажите, в чем я ошибся? Думаю, VBA не воспринимает мои критерии как ссылку на ячейку, не знаю как бы ему намекнуть)
К сообщению приложен файл: 2321664.xlsm (16.0 Kb)


Сообщение отредактировал sanpai9494 - Вторник, 06.07.2021, 16:22
 
Ответить
СообщениеЗдравствуйте!

Требуется, чтобы при вводе в ячейку значения и нажатия кнопки запуска макроса, происходила фильтрация по заданному значению ± указанные в макросе допуски. Т.е. аналоги фильтра "между".

Записал макросом действия стандартного фильтра "между" с критерием от 5 до 15:
[vba]
Код
Sub Фильтр_между()
    ActiveSheet.Range("$A$4:$A$39").AutoFilter Field:=1, Criteria1:=">=5", _
        Operator:=xlAnd, Criteria2:="<=15"
End Sub
[/vba]

Знания VBA нет, пробовал так (I1 - целевая ячейка со значением, в данном случае 10):
[vba]
Код
Sub Фильтр_между()
    ActiveSheet.Range("$A$4:$A$39").AutoFilter Field:=1, Criteria1:=">=I1-5", _
        Operator:=xlAnd, Criteria2:="<=I1+5"
End Sub
[/vba]

И так:
[vba]
Код
Sub Фильтр_между()
    ActiveSheet.Range("$A$4:$A$39").AutoFilter Field:=1, Criteria1:=">=[I1]-5", _
        Operator:=xlAnd, Criteria2:="<=[I1]+5"
End Sub
[/vba]

Ничего не вышло. Не подскажите, в чем я ошибся? Думаю, VBA не воспринимает мои критерии как ссылку на ячейку, не знаю как бы ему намекнуть)

Автор - ceHnau
Дата добавления - 06.07.2021 в 16:20
RAN Дата: Вторник, 06.07.2021, 16:33 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Criteria1:=">=" & [I1] - 5
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Criteria1:=">=" & [I1] - 5
[/vba]

Автор - RAN
Дата добавления - 06.07.2021 в 16:33
Serge_007 Дата: Вторник, 06.07.2021, 16:36 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Вариант с переменными:
[vba]
Код
Sub Фильтр_между()
Dim q1 As Integer, q2 As Integer
q1 = Range("i1") - 5
q2 = Range("i1") + 5
    ActiveSheet.Range("A4:A39").AutoFilter Field:=1, Criteria1:=">=" & q1, _
        Operator:=xlAnd, Criteria2:="<=" & q2
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВариант с переменными:
[vba]
Код
Sub Фильтр_между()
Dim q1 As Integer, q2 As Integer
q1 = Range("i1") - 5
q2 = Range("i1") + 5
    ActiveSheet.Range("A4:A39").AutoFilter Field:=1, Criteria1:=">=" & q1, _
        Operator:=xlAnd, Criteria2:="<=" & q2
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 06.07.2021 в 16:36
ceHnau Дата: Вторник, 06.07.2021, 16:44 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 20% ±

2016
Criteria1:=">=" & [I1] - 5

Спасибо! Амперсанд помог, принцип понял.
 
Ответить
Сообщение
Criteria1:=">=" & [I1] - 5

Спасибо! Амперсанд помог, принцип понял.

Автор - ceHnau
Дата добавления - 06.07.2021 в 16:44
  • Страница 1 из 1
  • 1
Поиск:

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