Страницы: 1
RSS
Скопировать все присутствующие на листе таблице
 
Приветствую.

Поставили такую задачу:
На одном листе (итого) присутствует энное кол-во одинаковых таблиц (их может быть 5 а может быть и 250) - но всегда они одинаковые и меняться не будет. Есть рядом кнопка - в базу. Второй лист (база) - на нем точь в точь такая же таблица как и на листе (итого) - такое же  кол-во столбиков и ячеек. Рядом кнопка - архив.
Суть задачи:
Нужен макрос для кнопки (в базу) листа итого, при нажатии на которой копировались бы все присутствующие таблицы по очереди из листа итого в лист база в таблицу и на листе база нажималась кнопка архив.
Т.е
жмем кнопку на листе итого в базу - копируется первая таблица в лист база и нажимается кнопка архив. Далее копируется 2 таблица в лист база и жмется кнопка архив. И так для каждой таблицы из листа итого. Суть такова что нужно чтобы макрос обрабатывал все таблицы присутствующие на листе итого - их может быть как несколько штук так и сотни. И чтобы после каждого копирования одной таблицы обязательно нажималась кнопка архив. После того как скопирована последняя таблица из листа итого в лист база макрос переставал работать.
 
Офф. О! Девочки на складе продолжают издеваться! :)

Цитата
serfer777 написал: нажималась кнопка архив
может точнее будет "что-бы запускался макрос, привязанный к этой кнопке"?
Офф. Попробуйте у них все-таки конечную цель всего этого узнать - и Вам и нам будет легче, может там все оптимизировать получиться. ИМХО
Согласие есть продукт при полном непротивлении сторон
 
Точно:)

Трудно общаться на их языке. Но смыл того что хотят именно такой.
Да чтобы запускался макрос привязанный к кнопке архив.
 
Офф.
Цитата
serfer777 написал: смыл того что хотят именно такой
не думаю что они хотят именно копировать таблички и нажимать кнопку "Архив". Скорее всего они хотят как-то автоматизировать свою работу и архивирование данных, но не знают как. Исходят они из того что у них уже наработано (скорее всего не ими). Может для начала пересмотреть ввод/учет исходных данных? Если сделать их "нормализованными", то думаю, копирование всех этих сотен одинаковых табличек не понадобиться.
Согласие есть продукт при полном непротивлении сторон
 
Офф. исходя из описания задачи - ну, допустим, напряглись, написали процедуру, и таблички счастливо скопированы и добавлены в архив. А потом наступает новый день и вносится изменение в какую-нибудь одну табличку из этого набора (или добавляется одна таблица). И что происходит? Правильно, исполнительный, но тупой механизм - опять все скопирует и опять все заархивирует. И какова цель? :)
Ув. Sanja правильно говорит - надо комплексно понять задачу и потом уже варганить решение. А сейчас, (кмк, конечно), залатали одну "дырку" - ой, а давайте еще вот так, а давайте еще вот сяк - так проще новое платье сшить, чем столько заплаток городить. :)
Кому решение нужно - тот пример и рисует.
 
Общий смысл таков:
Есть несколько региональных складов - около 200 и кол-во может расти как в большую так и меньшую сторону. Есть некая общая папка на сервере с таким файлом - в нее сотрудники по результату дня вставляют таблицу с данными. В конце раб. дня в головном офисе ответственный менеджер проверяет все добавленные таблицы по бумажным документам - соответствует либо нет. Далее если все соответствует бумажным носителям то каждую таблицу с данными нужно копировать в шаблон и нажимать на кнопку в архив (макрос кнопки архив  уже сам распределяет что куда подставить - сколько товара всего продано, где продано больше, где избыток и т.д). Так вот чтобы автоматизировать и нужен такой макрос который бы копировал каждую таблицу - вставлял в шаблон и жал кнопку архив. И так для всех присутствующих таблиц на листе. Единственное что смущает так это не одинаковое кол-во таблиц. Делали раньше вручную - когда было около 20 таблиц но сейчас кол-во вырасло в разы - поэтому занимает достаточно много времени. Вот собственно и все.

Спасибо.
 
То что работало для 20-ти табличек, для 200 и более вряд-ли подойдет. Ув. Пытливый,  описал некоторые возможные проблемы. И это только те, что лежат на поверхности. Почему-бы не перейти на какую-нибудь готовую программу складского учета. В Сети их масса. Наверное и бесплатные можно найти.
Особенно это интересно

Цитата
serfer777 написал: В конце раб. дня в головном офисе ответственный менеджер проверяет все добавленные таблицы по бумажным документам
сверить более 200 таблиц с бумажными вариантами та ещё задача - ошибки неизбежны.
Однозначно меняйте подход к учету. Удачи!
Согласие есть продукт при полном непротивлении сторон
 
Обычная процедура скопировать вставить нажать - скопировать вставить нажать. Странно.
Руководство считает излишним траты если можно делать все по старинке. Труден сам кода макроса или в чем то еще подвох есть?  
Изменено: serfer777 - 15.03.2015 13:18:15
 
Ну, допустим...
 
Нет. Не то немного. Должно копировать каждую таблицу из итого и вставлять в таблицу база - после этого нажатие кнопки архив. И так поочередно с каждой таблицей из листа итого.
 
Код
Sub архив()
    MsgBox "В архив!"
End Sub


Sub база()
    Dim i&
    For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row Step 40
        Range(Cells(i, 1), Cells(i + 38, 5)).Copy Sheets("база").[a9]
        архив
    Next
End Sub
 
Спасибо. Вроде оно!
Страницы: 1
Наверх