Копирование ячеек разных цветов на разные листы через VBA, Макрос для кнопки, по нажатию на которую данные из ячеек с разными цветами разносятся по разным листам.
Добрый день. Прошу помочь доделать макрос. Я в программировании 0, но макрос пипец как нужен! Ситуация следующая: 1. В первый лист (Общий) вставляется список людей с тремя типами заливки (жёлтый, зелёный, без заливки) 2. По нажатию на кнопку "Разделить": а) люди из общего списка без заливки копируются во второй лист (Специалисты) б) люди из общего списка с зелёной заливкой копируются в третий лист (Практиканты) в) люди из общего списка с жёлтой заливкой копируются в четвёртый лист (Старшие) В случае повторного нажатия на кнопку "Разделить" цикл должен повториться, то есть если я впечатал ещё пару тройку человек в общий список, а одного удалил, то после нажатия "разделить" новые разносятся по листам, а удалённые удаляются. Прикладываю файл с таблицей, в которой макрос работает, но только на одно условие (жёлтая заливка)... Добавить ещё 2 условия ну никак не получается... Помогите пожалуйста!
не приветствуется. Хотя, если вы обладаете кучей времени, то можно и подождать, вдруг кто заинтересуется. Чаще всего заинтересанты бывают в будние дни.
Заинтересант нашёлся: у него все дни выходные )) См. вариант. Про повторный запуск не очень понял и сделал так, что таблицы (столбец С) на листах 2...4 перезаписываются полностью. P.S. Порядок этих листов не менять.
"В театрах, цирках, кино, на телевидении, в концертных организациях, если такая работа не вредит их здоровью и нравственному развитию"
Насчет нравственного развития, конечно, вопрос На форуме (ближе всего, вероятно, кино, или цирк) разный контингент бывает... P.S. Медвежьим счетчики восстановили (у них лапа больше), а кошачьим пока нет.
Юрий М, Скачал скинутый вами вариант, нажал на кнопку "Распределить" и мой комп завис... Я отправил его в перезагрузку, а сам лёг спать (было уже очень поздно, я просто отрубился)! Сейчас снова запустил файл, зашёл в тело макроса, нажал на Run и он долго висел в статусе running... Не пойму почему так... Затем нажал на кнопку "Распределить" и убедился что процедура выполняется, но почему-то оочень долго! У меня дома Predator Helios 300, а вот на работе комп совсем слабенький боюсь ваще ляжет...
Цитата
Андрей VG написал: [программировании 0] не приветствуется.
Каждому своё, я IT-инженер и педагог доп. образования. От программирования далёк, сталкиваюсь редко.
За слово "пипец" прошу прощения, наболело. Дня 4 уже долбаюсь с этим макросом, собирая инфу по кускам на профильных форумах.
Может имеет смысл применить классику по ускорению процесса? В самом начале кода(после последнего Dim):
Код
Dim ac&
With Application
ac = .Calculation
.EnableEvents = false
.ScreenUpdating = False
.Calculation = -4135
End With
ActiveSheet.DisplayPageBreaks = False
в самом конце(перед End Sub)
Код
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = ac
End With
Огонь! Добавил строки по совету Дмитрий(The_Prist) Щербаков, и стало работать моментально! Итог: именно то, что мне и было нужно!
Юрий М, вам огромное спасибо! Теперь мне в целом понятно, что написано в вашем макросе, и понятно, что я вообще не в том направлении рыл. Я кстати пытался адаптировать под мою задачу ваш макрос из другой ветки форума, по похожей задаче, но так и не справился... Всем спасибо за участие!!!