Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Макросы переключения значений фильтров
 
Я заказывал макросы Excel у программиста.

Задача заключалась в переключении значений фильтров вперед и назад.

Вот скриншоты которые описывают процесс:
http://images.netbynet.ru/img.php?38a914dfc43d15bbfa527d601d634dd4.jpg
http://images.netbynet.ru/img.php?c2966f839bc5aed437a490a2a0a0eeed.jpg

Образец готовых макросов в файле: http://file.karelia.ru/qk9449/

Значения в столбце, по которому будет выставляться фильтр, и вестись обработка, может быть как в виде обычных цифр, идущих по порядку (пример: 1, 2, 3…) так и в виде цифр с различной символьной частью (пример: ок-1, ок-2, ок-3… и т.д.)

Сейчас макросы, которые сделал мне программист, реализованы на основе массива, который создается при открытии документы. Но этот вариант меня не устраивает, потому что создание массива занимает дополнительное время (особенно при большом количестве данных на листе), и вызывает некоторые неудобства при работе.

Программист сказал, что если бы значения для фильтра были бы только числовые, то макросы можно было бы реализовать без создания массива, а так как значения текстовые, то обязательно создание массива.

Вопрос заключается в том, можно ли реализовать описанные выше макросы без использования массива, даже если значения фильтров будут содержать тестовую часть (например: ок-1, ок-2, ок-3)?
 
Цитата
rownong27 пишет: Сейчас макросы, которые сделал мне программист, реализованы на основе массива, который создается при открытии документы
если массив создается на основе данных листа, то "массив" должен перестраиваться при каждом изменении на листе (вернее, программа должна знать, что произошли изменения, и при запросе фильтрации формировать новый массив)
Цитата
Но этот вариант меня не устраивает, потому что создание массива занимает дополнительное время (особенно при большом количестве данных на листе), и вызывает некоторые неудобства при работе.
на основе чего создается массив? В файле много кода, зачем я не понял )
Цитата
Задача заключалась в переключении значений фильтров вперед и назад.
не однозначная формулировка, мне, например, не понятно
Изменено: nerv - 24 Ноя 2014 01:41:36
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Цитата
rownong27 пишет: создание массива <...> вызывает некоторые неудобства при работе
Что за неудобства?
 
Цитата
nerv пишет: если массив создается на основе данных листа, то "массив" должен перестраиваться при каждом изменении на листе (вернее, программа должна знать, что произошли изменения, и при запросе фильтрации формировать новый массив)
Программист писал, что чтобы обновить массив, нужно сохранить документы, выйти и снова зайти.
Цитата
nerv пишет: на основе чего создается массив? В файле много кода, зачем я не понял )
Не знаю на основе чего. Я не программист.
Цитата
nerv пишет: не однозначная формулировка, мне, например, не понятно
У меня есть видео ТЗ (5 минут), но его размещать не стал, чтобы не тратить время форумчан.
Можете взглянуть на скриншоты, которые я разместил или запустить макрос. Сразу будет видно логику его работы.
Цитата
Юрий М пишет: Что за неудобства?
При открытии или сохранении файла массив обновляется даже если мне этого не нужно, а это вызывает или притормаживания или всякие ошибки выдает, например если фильтр со столбца снят. В общем хотелось бы без массива работать, чтобы обычный фильтр просто переключался макросом на следующее или предыдущее значение.
Изменено: rownong27 - 24 Ноя 2014 01:42:19
 
суть задачи в чем заключается?
Цитата
rownong27 пишет: Задача заключалась в переключении значений фильтров вперед и назад.
фильтр можно установить или снять. Вперед / назад - это как?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Макрос 1.1
При запуске, макрос 1.1 должен переключать текущий установленный фильтр на следующий идущий по порядку фильтр. Пример как должно быть: ок-1, ок-2, ок-3, ок-4, ок-5, ок-6, ок-7, ок-8, ок-9, ок-10, ок-11 и т.д.

При запуске, макрос 1.2 должен переключать текущий установленный фильтр на предыдущий идущий по порядку фильтр.
 
на скорую руку (скрытые листы не трогал)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
оптимизация:

Код
Static Criteries As Variant

if not isArray(Criteries) then
   // get criteries
end if
Изменено: nerv - 5 Май 2013 16:09:33
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Цитата
nerv пишет: get criteries
привет, Саш.
фу  :(  
множественное число - criteria
сэрр, Вы снова сачкуете? ;)
Изменено: ikki - 5 Май 2013 16:16:49
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет: привет, Саш
:)
Цитата
множественное число - criteria
знаю, по словарю смотрел. Написал так, потому, что нагляднее )
Цитата
сэрр, Вы снова сачкуете?
?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Цитата
nerv пишет: ?
имелось в виду "буду усиленно изучать английский"  :)  
но, раз знаешь, тогда ладно  :D
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
nerv, куда Вашу оптимизацию вставлять то? выложите рабочий вариант плиз
 
нормально так. теме полтора года вообще-то
F1 творит чудеса
 
И что, что пол года, я данный макрос начал сейчас искать, странно что данная штука по умолчанию не встроена, в OpenOffice и то удобней с фильтром в огромной таблице работать, там сразу открывается позиция с галкой, а тут все время надо проматывать полосу прокрутки чтобы найти где стоит галка, затем снять ее и поставить на следующую позицию, и так до самого конца!
 
в экселе до 2003-го включительно тоже так было.
а в опенофисе интерфейс просто старый.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Подскажите как вставить макрос в новый файл, уж очень надо
 
Вопрос не по теме.
 
Цитата
nerv написал:
Прикрепленные файлы
Цитата
vikttur написал:
Вопрос не по теме.
Перефразирую

Вот это макрос в новый файл
Изменено: Nickolya.od - 20 Мар 2017 11:11:07
 
Цитата
Nickolya.od написал:
как вставить макрос в новый файл
Цитата
Nickolya.od написал:
Вот это макрос в новый файл
И чем эти два вопроса отличаются друг от друга?
Вы не знаете, что такое макрос и где их искать? Почитайте эту статью.
P.S. Ваш вопрос не имеет никакого отношения к ЭТОЙ теме.
 
Как сделать макрос универсальным ( адаптировать автоматически под любой лист в любом документе ) ?
Страницы: 1
Читают тему (гостей: 1)
Наверх