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

Вход

Регистрация

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

 

= Мир MS Excel/Как передать задаваемые условия (оператор условия) в функцию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как передать задаваемые условия (оператор условия) в функцию (Макросы/Sub)
Как передать задаваемые условия (оператор условия) в функцию
Bamboo Дата: Вторник, 23.04.2019, 14:08 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Хочу написать универсальную функция для фильтрации и поиска по массивам. Для этого в функцию нужно передать операторы условия (равно, больше, меньше и т.п.). Хотелось бы сделать через задание массива критериев фильтрации.
Вопрос заключается как фильтровать потом? Как переданные значения включить в условие IF? В JS для этого есть метод eval.
Вариант с конструкций [vba]
Код
IF Condition = ">" then IF array (x,y) > "Условие"
[/vba] мне кажется не элегантным.

Подскажите, пожалуйста, существует ли более элегантное решение?


Сообщение отредактировал Bamboo - Вторник, 23.04.2019, 14:51
 
Ответить
СообщениеХочу написать универсальную функция для фильтрации и поиска по массивам. Для этого в функцию нужно передать операторы условия (равно, больше, меньше и т.п.). Хотелось бы сделать через задание массива критериев фильтрации.
Вопрос заключается как фильтровать потом? Как переданные значения включить в условие IF? В JS для этого есть метод eval.
Вариант с конструкций [vba]
Код
IF Condition = ">" then IF array (x,y) > "Условие"
[/vba] мне кажется не элегантным.

Подскажите, пожалуйста, существует ли более элегантное решение?

Автор - Bamboo
Дата добавления - 23.04.2019 в 14:08
bmv98rus Дата: Вторник, 23.04.2019, 17:47 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
Тема не вяжется с самим вопросом. Всеж интересует как передать или как обработать после?
Evaluate
[vba]
Код
If Evaluate( array (x,y)& Condition & "Условие") then
[/vba]
но может оказаться что
[vba]
Код
select case Condition
[/vba] более наглядным, да и быстрым.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеТема не вяжется с самим вопросом. Всеж интересует как передать или как обработать после?
Evaluate
[vba]
Код
If Evaluate( array (x,y)& Condition & "Условие") then
[/vba]
но может оказаться что
[vba]
Код
select case Condition
[/vba] более наглядным, да и быстрым.

Автор - bmv98rus
Дата добавления - 23.04.2019 в 17:47
Bamboo Дата: Вторник, 23.04.2019, 20:57 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
но может оказаться что
select case Condition

более наглядным, да и быстрым


Спасибо! Я так и сделал. Получилось довольно компактно и наглядно. Одно "НО" - не поддерживает сложные условия с логическими операторами. Будет время попробую через evaluate решить.
К сожалению код не выложил, т.к. кодировка русских комментариев получается кривая при вставке в сообщение на форуме.
 
Ответить
Сообщение
но может оказаться что
select case Condition

более наглядным, да и быстрым


Спасибо! Я так и сделал. Получилось довольно компактно и наглядно. Одно "НО" - не поддерживает сложные условия с логическими операторами. Будет время попробую через evaluate решить.
К сожалению код не выложил, т.к. кодировка русских комментариев получается кривая при вставке в сообщение на форуме.

Автор - Bamboo
Дата добавления - 23.04.2019 в 20:57
bmv98rus Дата: Вторник, 23.04.2019, 21:07 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
т.к. кодировка русских комментариев получается кривая при вставке в сообщение на форуме.
выделять копировать и вставлять надо при русской раскладке клавиатуры.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
т.к. кодировка русских комментариев получается кривая при вставке в сообщение на форуме.
выделять копировать и вставлять надо при русской раскладке клавиатуры.

Автор - bmv98rus
Дата добавления - 23.04.2019 в 21:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как передать задаваемые условия (оператор условия) в функцию (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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