Нужна помощь по VBA Excel

Всех приветствую! Имеется небольшая программа в excel которая считает дни. Учитывает рабочую пятидневку, исключая субботу и воскресенье с некоторыми условиями. Так-то оно работает, но, нужно чуть подправить, либо чуть дополнить что-бы она ещё и исключала праздничные дни, нерабочие (пишутся списком, исключительно вручную на отдельном листе).

Там в отдельном листе я подробней описал, мне бы только праздничные дни сделать. Буду бесконечно благодарен!

Готов оплатить.

https://cloud.mail.ru/public/aSKF/KFTnR2i8Z

Лига помощи Excel

50 постов805 подписчиков

Добавить пост
Автор поста оценил этот комментарий

Не находит этот компонент. Это вызвано тем, что не установлена правильная версия .Net Framework. Правильная версия — 3.5. Неважно, установлена ли у вас более поздняя версия, например 4.7, у вас должна быть установлена версия 3.5. - https://excelmacromastery.com/vba-arraylist/. Если это невозможно, используйте сортировку без применения "System.Collections.ArrayList". Например, возьмите код отсюда https://micro-solution.ru/excel/vba/sorting-algorithm

раскрыть ветку (1)
Автор поста оценил этот комментарий

Сделали мне .Net Framework 3.5, всё заработало. Спасибо! :)

Автор поста оценил этот комментарий

Прошлая версия была "наколенчатая" - самому не понравилась, решил довести до ума. Причесал, отладил, добавил обработку ошибок. Новая версия лежит здесь https://cloud.mail.ru/public/iujV/hGy2sUmt4

раскрыть ветку (1)
Автор поста оценил этот комментарий

Принёс на рабочий комп. Оно тут не хочет работать. Странно, дома нормально, тут нет. В чём может быть проблема?

Иллюстрация к комментарию
Иллюстрация к комментарию
показать ответы
Автор поста оценил этот комментарий

Прошлая версия была "наколенчатая" - самому не понравилась, решил довести до ума. Причесал, отладил, добавил обработку ошибок. Новая версия лежит здесь https://cloud.mail.ru/public/iujV/hGy2sUmt4

раскрыть ветку (1)
Автор поста оценил этот комментарий

Это великолепно! Вы не представляете как вы мне помогли!  Большое вам спасибо!

Автор поста оценил этот комментарий

Позвольте с вами не согласиться. В вашем листе "Задание" написано "При этом не затрагива и не смещая все остальные даты.". В вашем старом расчете как раз "затрагиваются и смещаются все остальные даты" из-да смещения предыдущих дат ТО. Я же сделал четко как написано. Иначе откуда 22 или 10 числа появились, если стартовая дата 9 числа, а периодичность кратна месяцу? Значит, все ТО должны проводиться по 9 числам, только в разные месяцы. А в июле даты ЕМ, КВ и ПГ по месяцу совпали, а число у всех 9-е. Ну и вот. Если все-таки нужно "затрагивать", то достаточно закомментировать строку "dtmNew = ExactlyDate" - и у вас будет "КВ, ПГ (10.07.24) ЕМ (22.07.24)", но это противоречит вашему же заданию.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Большое вам спасибо за помощь ещё раз!

показать ответы
Автор поста оценил этот комментарий

Позвольте с вами не согласиться. В вашем листе "Задание" написано "При этом не затрагива и не смещая все остальные даты.". В вашем старом расчете как раз "затрагиваются и смещаются все остальные даты" из-да смещения предыдущих дат ТО. Я же сделал четко как написано. Иначе откуда 22 или 10 числа появились, если стартовая дата 9 числа, а периодичность кратна месяцу? Значит, все ТО должны проводиться по 9 числам, только в разные месяцы. А в июле даты ЕМ, КВ и ПГ по месяцу совпали, а число у всех 9-е. Ну и вот. Если все-таки нужно "затрагивать", то достаточно закомментировать строку "dtmNew = ExactlyDate" - и у вас будет "КВ, ПГ (10.07.24) ЕМ (22.07.24)", но это противоречит вашему же заданию.

раскрыть ветку (1)
Автор поста оценил этот комментарий

А ведь действительно. Вы правы. Большое вам спасибо за помощь, это то что нужно! Могу я вам как нибудь оплатить труд?

Автор поста оценил этот комментарий

Допилил, разместил здесь https://cloud.mail.ru/public/jFvM/GTsrTirCK. Комментарии в коде.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Только не бросайте мою затею прошу!!! Готов материально компенсировать!
Автор поста оценил этот комментарий

Допилил, разместил здесь https://cloud.mail.ru/public/jFvM/GTsrTirCK. Комментарии в коде.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Это великолепно! Я уже отчаялся найти того кто поможет!

Не сочтите за наглость, я явно вижу вы умеете это дело. Не могли бы подправить? Я вижу небольшую несостыковку. Вы сделали объединение строк, но они не совсем верно объединяются. Вот например пункт компрессора: ЕМ 22.07, КВ 10.07, ПГ 10.07 (старая версия. Вы сделали ЕМ КВ ПГ 09.07. Так быть не должно. Если по правильному то - было бы КВ ПГ 10.07, ЕМ 22.07. Т.е. объединяет только то где одинаковые даты.
Если с объединением геморно соорудить код, то я был бы благодарен только за пункт праздничных дней! Но тогда объединение хотелось бы убрать...

Иллюстрация к комментарию
Иллюстрация к комментарию
показать ответы