Jack Famous, вашу надстройку они же устанавливают, в чем разница?
«Бритва Оккама» или «Принцип Калашникова»?
30.09.2019 15:45:28
Jack Famous, вашу надстройку они же устанавливают, в чем разница?
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
30.09.2019 17:42:46
bedvit, не устанавливают — я все макросы "зашиваю" в файл (в модулях), а с вашей так не получится
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
30.09.2019 19:48:19
Уверен получится, догадываетесь, куда я вас опять отсылаю?) Но я не настаиваю. Здесь вопрос в том, что нужна ли такая функция. В любом случае механизм налажен, теперь мне проще модифицировть в любой вариант текущую реализацию. Скил получен, навыки прокачены.
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
01.10.2019 09:47:32
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||
|
|
19.10.2021 21:10:23
bedvit, лучше при каждом обновлении давать ссылку, откуда скачать, в то не у всех же закладка на твой сайт
Лайтовый апдейт) даёшь сцепитьесли)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
20.10.2021 09:57:09
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
20.10.2021 10:00:01
Как бы так тебе сказать… В общем ни хрена это не "легко", а формулы массива вообще одноразовое нерастягивающееся мероприятие (если у тебя не новый Excel) У Димы UPD: и напиши уже, чтобы файл BedvitXLL.bin хранили в отдельной папке с файлом надстройки и/или не удаляли это файл, т.к. в нём хранятся пользовательские настройки — я уже сам пару раз удалял, а потом искал "запомненные" в надстройку форматы
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
20.10.2021 11:04:01
«Бритва Оккама» или «Принцип Калашникова»?
|
|||||
|
|
20.10.2021 11:11:00
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
20.10.2021 11:35:56
Тут больше вопрос в относительности, а именно "что значит долго"… Даже твой пример на 3,5 сек весьма условный - сильно зависит от количества критериев и разброс будет немаленький И даже так: Когда у тебя 10 таблиц и хотя бы в 2ух-3ёх есть такая функция Когда ВКЛЮЧЕН автопересчёт Когда ты просто вводишь данные в умную таблицу Если умная отфильтрована, то вообще Любой из этих факторов (не говоря уже о сочетаниях) сделает использование подобной функции НЕУДОБНЫМ (вот, что я имею ввиду под словом "долго"), т.к. зачем мне ждать даже 2 секунды, когда я просто, например, ввожу данные или просто хочу актуализировать результат работы пары простых формул Именно поэтому, ВСЁ, что работает с БОЛЬШИМИ ДИАПАЗОНАМИ (ВПР, СУММ/СЧЁТесли и т.д.), я переношу на "кликовый" расчёт процедурами - чтобы точечно актуализировть что надо и когда
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
20.10.2021 13:42:09
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||||
|
|
20.10.2021 13:52:59
Потому что Димина зависит, как и любая подобная…
1. Прям "при пересчёте" мне ничего кликать не надо (иначе я бы повесил макрос на событие пересчёта)- кликать нужно тогда, когда ты понимаешь, что данные изменились и нужно актуализировать что-то точечно 2. У меня набор более или менее универсальных инструментов и, если брать аналоги ВПР, СЧЁТ/СУММ/Сцепить -Если, то каждый раз нужно будет выбрать несколько диапазонов - это быстро 3. Если нужно делать прям автомат калашникова, то убираем переменные в виде запроса диапазонов и прописываем жёстко или привязываем к именованным диапазонам + прописываем все необходимые проверки
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||
|
|
20.10.2021 14:43:44
«Бритва Оккама» или «Принцип Калашникова»?
|
|||||
|
|
20.10.2021 15:00:46
А вообще, если так вопрос ставить, то никакая новая форма сама себя не придумает и всегда нужны люди, которые будут понимать, что с этим делать, а уже макросами, формулами или прочими павекверями — второй вопрос Тут пользоваться поди заставь, а ты про придумать
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||
|
|
20.08.2022 17:31:36
Изменено: |
|||
|
|
21.08.2022 20:20:53
testuser, в расчетах до 1 млн строк, можно использовать
Чем не устраивает?
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
22.08.2022 02:00:36
bedvit, это метод влияющий на лист, хотелось бы что-то типа Range.SpecialCells чтобы, допустим среди составного диапазона отобрать ячейки с определенным критерием и вернуть их также также в виде составного (объединенного) диапазона, ну или как описал выше - просто массив индексов элементв, который циклом также можно также преобразовать в диапазон. Интересный видел способ вычитания одного диапазона из другого - создается новый лист, в нем аналогичные диапазоны, исключаемый диап. заполняется единичками, а итоговый вычисляется методом SpecialCells с параметром xlBlank. Потом лист удаляется. Костыльно, но очень просто и эффективно для конечного писателя ), работает с любыми конфигурациями диапазонов.
Изменено: |
|
|
|
22.08.2022 09:26:48
testuser, возможно, вам проще сделать новую тему и там обсудить ваши хотелки… Не думаю, что для перечисленного прям очень нужна библа Виталия - да, будет быстрее, но не думаю, что заметно на обычных объёмах. Можно попробовать просто на VBA…
У меня для Виталия есть несколько предложений, но ни одного - для функций листа. Для себя понял, что любые НЕродные функции листа, которые созданы для замены ВПР, СУММЕСЛИ и прочих агрегаторов — неизбежно будут создавать проблемы, как ни крути. Как минимум, при фильтрации…
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||
|
|
22.08.2022 10:02:43
Коллеги, на VBA вы и сами все сделаете. Здесь мы обсуждаем функционал, которого на VBA нет или есть но очень медленный. Сделать инструмент обработки массива с любой размерностью, с поиском нужного значения и выводом такого же массива с 1 если найден или 0 если не найден. Или поиск по одномерному массиву с выводом массива индексов, только по найденным элементам. Это все разные задачи, нужно определится, что именно нужно, можно ли это сделать штатными инструментами и нужно ли это для реализации на низкоуровневом C API или в СОМ
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
22.08.2022 10:14:29
По-моему всё сводится только к тому, чтобы просто сделать быстрее…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
22.08.2022 10:40:28
Хороший вопрос! На VBA много чего сложно повторить: Печать QR-code, алгоритмы хеширование строки SHA2,3, хеш-таблицы, словари, безопасное хранение vba-кода и его выполнение, пользовательскте формы с нормальным скролом колесиком мышки (навскидку, это то что мне нужно было, и я реализовал в своей библе, возможно ещё есть блоки, того чего нет, а хотелось бы)
Все это написано на других языках.
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
22.08.2022 10:46:29
Лично для меня - основная польза от твоей библы в скорости. Замена словарей на UnOrdered Map сокращает время при обработке больших массивов в десяки и сотни раз - это секунды вместо минут. Уже одно это заставило меня перевести 80% своего кода (где это возможно) на использование мощи библы. Если будут инструменты для обработки массивов, то даже такие простые функции, как InStr() и Replace() выйдут на совершенно новый уровень по скорости. Не помещает преобразования внешне похожей кириллицы в латиницу и обратно. Транслит. Замена по списку. Много чего ещё у меня есть в идеях
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||||||||
|
|
22.08.2022 11:03:40
Еще раз прочитай внимательно, что ты спросил, что я написал. QR на сайте это НЕ VBA.
Про Си я вообще не упоминал. API это тоже не VBA (это Си) Штатный словарь это тоже не VBA.
Идеи это хорошо, главное, чтобы этот функционал был нужен. К примеру, множество подключаемых библиотек к Python, написаны на более низкоуровневых языках. Т.е. такая практика существует уже давно.
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
22.08.2022 11:12:30
bedvit, ты снова уходишь от темы - я понял вопрос как "без моей библы" иначе зачем вообще выяснять, что можно сделать на "чистом" VBA, не используя предоставленные возможности штатных библиотек. Что вообще считать "чистым VBA" и так далее…
И Да - всё, или почти всё, я думаю, можно повторить (с различной степенью удобства для конечного пользователя), только не думаю, что кто-то будет заниматься изобретением велосипеда. Предложенные мной выше инструменты интересны тебе? Будешь добавлять?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
22.08.2022 12:25:15
Если добавить словарь. из которого можно мгновенно узнать, в каких строках массива содержатся те или иные значения (а лучше иметь отсортированный массив и достаточно хранить позицию ПЕРВОГО элемента), то вообще пушка.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
22.08.2022 13:09:48
Jack Famous, ты про безопасное хранение и выполнение vba-кода не ответил. На VBA нельзя сделать защиту своего же кода от прочтения.
Про QR тоже мимо, нет на работе интернета и все, или к сайтам таким доступ закрыт и нтчего не работает, считаю, функционал должен поддерживать работу офф-лайн. По твоим предложениям, про поиск по массиву интересно, а про джойн не понял, что в итоге надо. Редим, тоже пока непонятно где использовать. testuser, если решения нужны штучного исполнения, это точно не в эту тему. Здесь рассматриваем решения для универсального/не разового применения. Ибо затраты на разработку не окупятся
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
22.08.2022 13:42:36
Изменено: |
|||
|
|
22.08.2022 14:03:46
Что предлагаю: гораздо чаще редимить (в большинстве случаев, это обрезка) нужно строки 2D массива - поэтому нужна возможность контроля и первой (непоследних - в общем виде) размерности. Также нелишним будет добавить изменение нижней границы (всё-равно пересобирать же). Если есть функции редима, получения уникальных, отсева пустых, получения 1D массива из "строки/столбца" 2D-массива, то можно сократить количество аргументов того же джоина (до одного обязательного массива и опционального разделителя), однако последовательный вызов всех этих инструментов из VBA будет медленнее одного вызова универсальной функции с этими же возможностями. Тебе писать больше кода, зато потом VBAшникам писать намного меньше и работать будет быстрее…
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||
|
|
||||||