0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 7
|
|
1 | |
Формула в макрос05.09.2024, 05:14. Показов 744. Ответов 17
Метки нет (Все метки)
Всем привет!
Люди помогите в решении проблемы. Признаюсь что в области различных формул и макросов я профан, по этому обращаюсь сюда. Уверен решение где то на поверхности. И так: есть формула в Эксель: =СУММ(СЧЁТЕСЛИМН('[31)Трассовка Автоналивная 405..xlsb]405'!$H:$H;"*"&C75&"*";'[31)Трассовка Автоналивная 405..xlsb]405'!$AH:$AH;"ремонт";'[31)Трассовка Автоналивная 405..xlsb]405'!$AJ:$AJ;"I";'[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;">="&$U$2;'[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;"<="&$W$2))+(СЧЁТЕСЛИМН('[31)Трассовка Автоналивная 405..xlsb]405'!$H:$H;"*"&C75&"*";'[31)Трассовка Автоналивная 405..xlsb]405'!$AH:$AH;"";'[31)Трассовка Автоналивная 405..xlsb]405'!$AQ:$AQ;"рк";'[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;">="&$U$2;'[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;"<="&$W$2))+(СЧЁТЕСЛИМН('[31)Трассовка Автоналивная 405..xlsb]405'!$H:$H;"*"&C75&"*";'[31)Трассовка Автоналивная 405..xlsb]405'!$AH:$AH;"";'[31)Трассовка Автоналивная 405..xlsb]405'!$BG:$BG;"рк";'[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;">="&$U$2;'[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;"<="&$W$2)) Подскажите как ее вписать в макрос. Или как то упростить и вписать в макрос. Спасибо.
0
|
05.09.2024, 05:14 | |
Ответы с готовыми решениями:
17
формула + макрос Макрос или формула Формула или макрос? Формула или макрос |
Модератор
|
|
05.09.2024, 07:42 | 2 |
для начала - выложите пример книги, в которой это надо сделать
Добавлено через 22 минуты для начала - разбить на подстроки, чтобы проверить то ли вы хотели получить Код
=СУММ(СЧЁТЕСЛИМН( '[31)Трассовка Автоналивная 405..xlsb]405'!$H:$H;"*"&C75&"*"; '[31)Трассовка Автоналивная 405..xlsb]405'!$AH:$AH;"ремонт"; '[31)Трассовка Автоналивная 405..xlsb]405'!$AJ:$AJ;"I"; '[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;">="&$U$2; '[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;"<="&$W$2)) +(СЧЁТЕСЛИМН( '[31)Трассовка Автоналивная 405..xlsb]405'!$H:$H;"*"&C75&"*"; '[31)Трассовка Автоналивная 405..xlsb]405'!$AH:$AH;""; '[31)Трассовка Автоналивная 405..xlsb]405'!$AQ:$AQ;"рк"; '[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;">="&$U$2; '[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;"<="&$W$2)) +(СЧЁТЕСЛИМН( '[31)Трассовка Автоналивная 405..xlsb]405'!$H:$H;"*"&C75&"*"; '[31)Трассовка Автоналивная 405..xlsb]405'!$AH:$AH;""; '[31)Трассовка Автоналивная 405..xlsb]405'!$BG:$BG;"рк"; '[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;">="&$U$2; '[31)Трассовка Автоналивная 405..xlsb]405'!$V:$V;"<="&$W$2))
0
|
Ученик Нарушитель
233 / 143 / 53
Регистрация: 01.04.2020
Сообщений: 469
|
||||||
05.09.2024, 08:34 | 3 | |||||
Ну или так:
0
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 7
|
|
05.09.2024, 09:14 [ТС] | 4 |
Почему то при переносе строки вся команда краснеет.(((
0
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 7
|
|
05.09.2024, 09:23 [ТС] | 5 |
В архиве два файла. Суть в том чтоб через макрос книга ХХХ считала количество сваренных, проконтролированных, годных, не годных стыков. Формула вбита в соответствующие ячеки. Считает по клейму сварщика.
0
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 7
|
|
05.09.2024, 09:26 [ТС] | 6 |
макрос работает с кнопки РАСЧЕТ
0
|
6930 / 2838 / 545
Регистрация: 19.10.2012
Сообщений: 8,670
|
|
05.09.2024, 11:10 | 7 |
Цель в чём - поставить формулу, или подсчитать и поставить числа? Раз уж макрос используете, то можно открыть файл и подсчитать макросом, затем результат выгрузить в ХХХ.
А сейчас работает, только нужно из кода удалить указанный там путь к файлу, ну и в конце дописать автозаполнение формулы по листу. Ну и мелочи типа что делать если юзер передумал.
0
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 7
|
|
05.09.2024, 11:52 [ТС] | 8 |
Цель- при открытии ХХХ запустить макрос чтоб посчитал и проставил цифры. Трассовка ежедневно обновляется, по этому макрос нужен в ХХХ.
Добавлено через 1 минуту Пока сварщиков не много можно и формулой посчитать. Но в дальнейшем их будет до 200 человек, мне кажется макрос быстрее будет работать. Добавлено через 13 минут Макрос который там прописан считает не правильно. Правильно считали формулы в ячейках. они длинные, и я не могу их в макрос прописать. Вот в чем основная проблема. Либо формулы как то укоротить, либо как то их в макрос вписать. Когда кончается строка в макросе и ставлю перенос на следующую строку, все краснеет. Добавлено через 4 минуты Столбец "P" и "R" макрос считает не правильно.
0
|
6930 / 2838 / 545
Регистрация: 19.10.2012
Сообщений: 8,670
|
|
05.09.2024, 14:24 | 9 |
Да нет, вот все три столбца правильно посчитано, как в формуле прописано так и есть.
CM2L 3 2 1 Мы ведь не знаем что и как там должно считаться. И в целом если скорость не напрягает может так и остаться. Но если у вас Эксель с динамическими диапазонами (2021-365) то быстрее может быть UDF - она всё сделает за один цикл по данным источника. Ну или макросу тоже не нужно по данным бегать более одного раза.
0
|
Ученик Нарушитель
233 / 143 / 53
Регистрация: 01.04.2020
Сообщений: 469
|
||||||
05.09.2024, 20:05 | 10 | |||||
Egor55rus, Что-то как-то тяжко, но однако выложу свою работу. Вроде бы правильно работает, проверьте.
Как-то так
1
|
6930 / 2838 / 545
Регистрация: 19.10.2012
Сообщений: 8,670
|
|
05.09.2024, 20:31 | 11 |
Я продумывал почти так (тоже один цикл по массиву данных), но чуть иначе, на словаре:
1. циклом по ХХХ собираем словарь клиентов с позицией каждого, и создаём пустой массив на 3 столбца сразу под размер клиентов. 2. цикл по массиву данных, сперва можно проверить что клиент интересует (есть в предварительно собранном словаре), затем проверка на попадание в даты, далее проверки условий и сразу в элементе массива собираем количество успешных проверок каждому клиенту (позиция строки известна, в словаре). 3. выгрузка массива на лист. Вполне можно всё это делать в UDF, и брать как источник и данные другой закрытой книги. Пока нет ясного ТЗ с условиями писать код можно только ради собственного интереса - формула говорят что-то неправильно считает...
0
|
Ученик Нарушитель
233 / 143 / 53
Регистрация: 01.04.2020
Сообщений: 469
|
|
05.09.2024, 21:32 | 12 |
Hugo121, Приветствую вас! Брал за основу логику формул что были уже на листе а не те что в макросе у ТС записаны. Они чуть разные в макросе, по крайней мере обратил внимание на формулу для колонки P. Посмотрим что скажет Egor55rus.
0
|
6930 / 2838 / 545
Регистрация: 19.10.2012
Сообщений: 8,670
|
|
05.09.2024, 21:55 | 13 |
MikeVol, приветствую! Я не с упрёком, просто рассказал какой алгоритм можно реализовать, что продумал.
По условиям детально не вникал - эти три столбца формула вроде как обработала как написано. Если Egor55rus решит попросить написать , и детально пояснит условия - при наличии времени могу написать такой вариант. Это если для Windows, у Маков нет словарей, но там можно на коллекциях аналог собирать.
0
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 7
|
||||||
06.09.2024, 02:36 [ТС] | 14 | |||||
MikeVol, дико извиняюсь за свою не грамотность, как говорил выше я в этом деле дилетант. Крайне не ловко, но не получается вставить путь к файлу:
Можете пояснить что я не так делаю? Спасибо за Ваше участие и стремление помочь. Это очень ценно.
0
|
Ученик Нарушитель
233 / 143 / 53
Регистрация: 01.04.2020
Сообщений: 469
|
|
07.09.2024, 02:11 | 15 |
Egor55rus, Я извиняюсь, был занят и небыл интернет. А вы Внимательно всмотритесь в мой код в #10-м посте и на ваш код в посте #14! Вы разницы никакой невидите, ничего не потеряли? Ну не буду я вас ложкой кормить, не моё это. Ничего личного. Удачи.
0
|
6930 / 2838 / 545
Регистрация: 19.10.2012
Сообщений: 8,670
|
|
07.09.2024, 14:30 | 16 |
Вообще тут помню иногда движок форума листинг портил. не помню что именно когда ломал, но было...
0
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 7
|
|
07.09.2024, 17:54 [ТС] | 17 |
Я не знаю как это произошло, и кто это отредактировал, но я копировал Ваш код и вставлял в сообщение.
Странно конечно.... Ну да ладно. Все равно спасибо.
0
|
Модератор
|
|
07.09.2024, 17:57 | 18 |
0
|
07.09.2024, 17:57 | |
07.09.2024, 17:57 | |
Помогаю со студенческими работами здесь
18
что быстрее - формула или макрос? Формула/макрос для выпадающего списка Перенос значений с выборочными критериями (макрос -формула?) Макрос или формула для переноса срок в новые (другие ячейки) Макрос или формула для расчеты продаж по разным брендам товаров Нужен макрос или формула для переноса целых строк на разные листы при выполнение условия Формула или макрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |