|
09.10.2018 05:52:55
Dima S, попробовал, результат корректный. Спасибо Вам за отклик и оптимизацию кода
|
|
|
|
|
|
09.10.2018 03:45:55
Изменено: - 09.10.2018 03:54:03
|
|||||
|
|
|
|
09.10.2018 02:55:14
Сергей, sokol92, к сожалению, дело не в этом.
Ігор Гончаренко, не то. Приложу файл примера, может с ним будет удобнее. Там макрос запускается с третьего листа, копирует 1 и 2 листы, создаёт новый файл, но макросы из модулей созданных копированием листов не удаляет... на этом и застревает с ошибкой. Код удаления макросов сам по себе рабочий, я его отдельно проверил. Наверняка я его неверно помещаю в общий макрос. На всякий случай код из файла примера под спойлером.
Изменено: - 09.10.2018 02:56:19
|
|||||
|
|
|
|
25.09.2018 06:35:02
Александр П., верно. Вы рискнули предположить и выиграли приз зрительских симпатий!
|
|
|
|
|
|
25.09.2018 04:03:51
Странно, вчера написал здесь сообщение, а сегодня его нет...
Обнаружилась такая беда - если человека, которому назначены даты начала и окончания отпуска на листе Отпуска, не включить в график работы на листе Месяц, то при работе макроса отпуск этого человека подставляется в график работы другому человеку. Каким образом можно устранить этот нежданный бонус? |
|
|
|
|
|
19.09.2018 13:28:07
Ts.Soft, оу, это важно, не подумал. Спасибо большое!
|
|
|
|
|
|
19.09.2018 12:38:43
Ts.Soft, спасибо за птичку, нашел параметр макрорекордером - Application.CellDragAndDrop = False
|
|
|
|
|
|
19.09.2018 12:30:07
|
|||
|
|
|
|
17.09.2018 13:16:34
|
|||
|
|
|
|
17.09.2018 12:43:22
|
|||
|
|
|
|
17.09.2018 12:27:34
Maruf, интересное решение. Спасибо Вам, вполне применимо к моей форме. Гораздо компактнее и интереснее выхлопа макрорекодера
И, поскольку я VBA не понимаю, вопрос исключительно из любопытства, можно ли было в данном случае использовать условие Step 3? Или это только для перебора столбцов годится? |
|
|
|
|
|
16.09.2018 13:53:59
Всех приветствую!
Собственно самого макроса у меня нет, Уокенбаха читать только начал Если кому не сложно, то буду благодарен за готовый макрос того, что описал в названии темы топика. В примере работу макроса я изобразил формулами в залитых желтым ячейках. Если поменяете месяц, то будет видно, что должно происходить в жёлтых ячейках. Логика в формуле простая - если заголовок одного из трех последних столбцов (это даты) равен значению из диапазона S3:AB3 (залит синим), то ячейки в этих столбцах со строки 12 с шагом 3 принимают значение "23:30". При этом ячейки, находясь в одном столбце, находятся в разных диапазонах (обозначил жирными границами). И соответственно, если значение заголовка столбца не в диапазоне S3:AB3, то жёлтые ячейки принимают значение пусто. |
|
|
|
|
|
14.09.2018 14:15:02
Юрий М, необходимость в проверке Вами кода в файле отпала. Вы совершенно верно указали на эту строку. Убрал её и вопросы отпали, макрос корректно отрабатывает. Спасибо Вам ещё раз!
|
|
|
|
|
|
14.09.2018 11:29:34
Юрий М,а Ваш ранний макрос, в котором я устранил допущенную мною же ошибку, работает отлично. Пока им спасаюсь, но он очень долго работает
|
|
|
|
|
|
14.09.2018 10:58:29
Юрий М, что-то всё таки некорректно работает на продуктиве. Даты периодов у меня с 3 по 10 столбец, и я LastColumn заменил на 10.
В примере эта конструкция хорошо работает на трех сотрудниках. Но в продуктиве их под сотню и ставятся не те периоды отпуска не тем сотрудникам. Продуктив выложить не могу, он слишком толстый. В чём может быть проблема?
Изменено: - 14.09.2018 10:59:04
|
|||
|
|
|
|
14.09.2018 05:37:02
Доброго времени суток, уважаемые!
Использовал формулу массива из , и прошу помощи в её доработке, ибо сам не осилил. В примере приведен диапазон дат (с 1 февраля по 3 марта). Формулой массива (в диапазоне S3:AB3 в каждой ячейке она индивидуальная) из диапазона дат выбираются даты, совпадающие с праздничными днями, и выставляются по порядку друг за другом. Хотелось бы, чтобы из диапазона дат можно было получить не только праздничные, но и те, которые превышают последнее число заданного месяца (в примере это 1, 2 и 3 марта). Спасибо за внимание
Изменено: - 14.09.2018 11:45:55
|
|
|
|
|
|
12.09.2018 11:29:40
Юрий М,большое спасибо за помощь!
Не могли бы Вы еще объяснить мне, какие значения в этом коде обозначают номера столбцов с датами отпуска на листе "Отпуска"? А то смотрю в код и вижу фигу Первоначальный макрос мне удалось таки починить. Теперь хочу сравнить их по быстродействию, а номера столбцов в продуктиве изменились |
|
|
|
|
|
12.09.2018 07:46:59
Юрий М,
В том проекте, для которого Вы его писали, он работает без ошибок. Проблемы возникли при моей адаптации макроса к моим условиям. |
|
|
|
|
|
12.09.2018 07:29:50
Всем доброго времени суток! Никогда такого не было и вот опять Адаптирую под свои цели (расстановка отпусков в графике работы) макрос, когда-то написанный уважаемым Юрием М и позаимствованный мной на этом форуме. Макрос отрабатывает без ошибок, но безрезультатно (почти). По сути макрос должен брать исходные данные из листа «Отпуска» и, в случае истины, помещать значение 23:31 (мой аналог ОТ) в соответствующие даты сотрудникам на листе «Месяц». В примере желтым цветом обозначил, как это должно быть. В макрокодировании слаб, но как понимаю, процедуры макроса циклично проходят по ячейкам. И в моём случае вместо подстановки нужного значения вычищают весь диапазон Буду рад принять любую помощь. Если что, в примере есть лишние пронумерованные листы, на всякий случай, для соблюдения структуры книги (как я понял, макрос на структуру тоже завязан).
Изменено: - 12.09.2018 07:30:08
|
|
|
|
|