Страницы: 1
RSS
Кнопка с макросом копирования диапазона в другой лист
 
Уважаемые умы, добрый день! Появилась острая нужда упростить работу диспетчеру. Решил реализовать ее вот таким макаром (вложение) а знаний довести дело до конца не хватает. Собственно сама проблема. Нужна кнопка, при нажатии на которую, строка, находящаяся перед ней копировалась в второй лист (выстраивался новый список) с колл-вом, указаным в клетке справа от нее (по-умолчанию максимальное кол-во штук, указаное в таблице) и исходная строка выкрашивалась в зеленый цвет если кол-во указано максимально, или отминусовывалось.  
Во вложении то, что я смог сделать абсолютно не зная принципов работы макросов. Насколько это сложно реализовать? Надеюсь на помощь или совет.
 
Здравствуйте.  
Правильно ли я понял, что вы на 2 листе хотите увидеть НОВЫЙ список (с другим расположением строк), т.е. выбрали на 1 листе 5 строку - она переносится на лист 2 во вторую строку, т.е. становится первой в списке?  
И вот с этим условием не очень ясно - "... исходная строка выкрашивалась в зеленый цвет если кол-во указано максимально, или отминусовывалось..."  
Отминусовывалась - от чего?
Кому решение нужно - тот пример и рисует.
 
Вы абсолютно верно заметили все. Попробую написать пошагово. Думаю так будет удобнее и понятнее.  
Лист 1.  
Строка 5 должна быть скопирована на следующий лист. Кол-во комплектующих или сырья указано ровно такое, которое и должно пойти в отгрузку, значит пользователь просто нажимает на кнопку и строка 5 копируется на лист 2 на свободное место. Раз при копировании было указано то же кол-во что и в строке - она выкрашивается в зеленый.  
 
Строка 10 должна быть скопирована на следующий лист, но отгрузка возможна только частичная. Пользователь вписывает кол-во в ячейке справа от кнопки, данные переносятся на лист 2 (на свободное место) а в исходной строке кол-во отминусовывается.
 
Если это трудновыполнимо, дайте подсказку. Я быстро учусь, просто не знаю с чего в моем случае начинать. Хотя, если рассматривать проблему по частям, то:  
1. отработка макроса ровно в той строке в которой была нажата кнопка.  
2. копирование строки не по тем же координатам как в исходном листе, а добавление (выстраивание нового) списка на листе 2.
 
Вы зря используете объединенные ячейки  
Совсем необязательно делать кнопку на каждую строку - можно привязаться к активной ячейке (т.е. активная ячейка расположена в нужной строке, - давим кнопку и происходит перенос/пересчет нужных данных)  
№ последней заполненной строки можно определить через Cells().End(xlUp) - как конкретно сделать - на форуме полно примеров).  
Это - если сильно невтерпеж.  
Если потерпите - могу до завтрашнего вечера чего-нибудь наковырять...  
 
69996 - Ух, ты!
 
{quote}{login=}{date=19.12.2012 07:00}{thema=}{post}Вы зря используете объединенные ячейки  
Совсем необязательно делать кнопку на каждую строку - можно привязаться к активной ячейке (т.е. активная ячейка расположена в нужной строке, - давим кнопку и происходит перенос/пересчет нужных данных)  
№ последней заполненной строки можно определить через Cells().End(xlUp) - как конкретно сделать - на форуме полно примеров).  
Это - если сильно невтерпеж.  
Если потерпите - могу до завтрашнего вечера чего-нибудь наковырять...  
 
69996 - Ух, ты!{/post}{/quote}  
 
Я буду ждать сколько нужно. Заранее спасибо!  
 
P.S. обьединение ячеек не критично. Готов переделать саму таблицу под макрос.
 
Играйтесь! :о))  
встать нужно обязательно в столбец количество той строки, с которой собираетесь работать. Потом можно попробовать встать в другую ячейку или ввести большее Кол-во, чем осталось в ячейке.  
Я правильно понял задачу?  
Ваш макрос удалять не стал, но при желании, можете его грохнуть!!!  
Удачи!
 
То же самое с дополнительной проверкой.
 
Пробуйте. В столбце J на листе 1 вбивайте значения и смотрите результат.  
Попробуйте вбить количество меньше, чем есть в наличии, больше, равное.  
Макрос срабатывает по событию изменения значения в ячейке столбца J
 
Большое человеческое спасибо всем вам!  
 
P.S. Теперь буду изучать сам макрос с надеждой стать умнее.
Страницы: 1
Наверх