Добрый день. Целый день провел за чтением учебников и сообщений на форуме, но так и не смог разобраться, простите чайника( Есть база в Excel 2007, в ней закладка "Учет" со списком номенклатурных позиций (см. файл "Справочник номенклатуры").
Задача: выделив ряд последних строк - автоматически добавить информацию из выделенных строчек в накладную (пример корректного заполнения накладной во втором файле "Пример_накладная", заполняемые поля выделены желтым). Если не предложите более удобного способа, то инициировать макрос для выделенных строк можно и банальным Alt+F8 ->выполнить.
Помогите пожалуйста!
Добрый день. Целый день провел за чтением учебников и сообщений на форуме, но так и не смог разобраться, простите чайника( Есть база в Excel 2007, в ней закладка "Учет" со списком номенклатурных позиций (см. файл "Справочник номенклатуры").
Задача: выделив ряд последних строк - автоматически добавить информацию из выделенных строчек в накладную (пример корректного заполнения накладной во втором файле "Пример_накладная", заполняемые поля выделены желтым). Если не предложите более удобного способа, то инициировать макрос для выделенных строк можно и банальным Alt+F8 ->выполнить.
выделив ряд последних строк - автоматически добавить информацию из выделенных строчек в накладную
Опять задача с непонятками. В примере базы всего 4 строчки и в накладной указаны две никак не последние. Почему именно последние? Это сколько? Как выделяются? Обычно накладные формируют выборочно. И почему накладная не в одном файле с базой? И, не для этой ли цели была задача в теме - Автоматическое заполнение 2й таблицы по клику в 1й таблице
выделив ряд последних строк - автоматически добавить информацию из выделенных строчек в накладную
Опять задача с непонятками. В примере базы всего 4 строчки и в накладной указаны две никак не последние. Почему именно последние? Это сколько? Как выделяются? Обычно накладные формируют выборочно. И почему накладная не в одном файле с базой? И, не для этой ли цели была задача в теме - Автоматическое заполнение 2й таблицы по клику в 1й таблицеWasilich
Сообщение отредактировал Wasilic - Пятница, 26.07.2013, 16:45
1. В накладной действительно указаны первые две строчки. Подразумевается, что в список номенклатуры было добавлено еще 2 строчки - и теперь их необходимо перенести в накладную, выделив курсором. НО на самом деле это может быть и 20, и 200 только что добавленных позиций.
2. Последние строчки - это константа существующего бизнес-процесса. Накладные будут формироваться на последние N-добавленных строк, а не на первые, третьи и пятые, например. Удобнее всего выделять строки, щелкая мышкой на полях, там где Excel уже заранее пронумеровал все свои строки. Если такой вариант не будет рабочим - тогда устроит выделение строк в колонке "Наименование".
3. Вы наверное имеете в виду каталог. Но в моем случае это не каталог, а закладка учета движения товара (с индивидуальными ценами для данного канала сбыта) - и последние строки как раз и будут те, на которые надо составить накладную.
4. Первоначально я сделал накладную в одном файле. Но мне не понравилось, что при сохранении заполненной накладной вместе с ней сохраняется и сама база. При больших объемах проще сразу открывать накладную отдельным файлом - и сохранять ее отдельно от базы.
5. автоматическое заполнение было для смежной темы - таким образом будет заполняться закладка учета движения товара, автоматически пересчитывая номенклатуру с учетом дисконта/надбавки для выбранного канала сбыта.
Поясню
1. В накладной действительно указаны первые две строчки. Подразумевается, что в список номенклатуры было добавлено еще 2 строчки - и теперь их необходимо перенести в накладную, выделив курсором. НО на самом деле это может быть и 20, и 200 только что добавленных позиций.
2. Последние строчки - это константа существующего бизнес-процесса. Накладные будут формироваться на последние N-добавленных строк, а не на первые, третьи и пятые, например. Удобнее всего выделять строки, щелкая мышкой на полях, там где Excel уже заранее пронумеровал все свои строки. Если такой вариант не будет рабочим - тогда устроит выделение строк в колонке "Наименование".
3. Вы наверное имеете в виду каталог. Но в моем случае это не каталог, а закладка учета движения товара (с индивидуальными ценами для данного канала сбыта) - и последние строки как раз и будут те, на которые надо составить накладную.
4. Первоначально я сделал накладную в одном файле. Но мне не понравилось, что при сохранении заполненной накладной вместе с ней сохраняется и сама база. При больших объемах проще сразу открывать накладную отдельным файлом - и сохранять ее отдельно от базы.
5. автоматическое заполнение было для смежной темы - таким образом будет заполняться закладка учета движения товара, автоматически пересчитывая номенклатуру с учетом дисконта/надбавки для выбранного канала сбыта.Callione
Сообщение отредактировал Callione - Пятница, 26.07.2013, 16:59
Зачем туплю? Ваши макросы до сих пор были самыми качественными из того что я смог найти! Значит туплю я, если не могу постановку задачи объяснить)
Попробую еще раз. Мне нужно реализовать заполнение накладной данными из последних строк приложенной таблицы. Необходимые для переноса в накладную строки выделяются мышкой. Макрос инициируется вручную (альт+ф8). По факту, из выделенных строк в накладную нужно перенести только значения артикула, наименования, количества и цены. Пока у меня получается заполнить накладную только через ручное копирование в накладную номеров пп- строк (вставляю их за границей области печати документа) и последующее авто заполнение нужных полей через ВПР. Но это не удобно. Есть еще вариант с проставлением напротив нужной строки маркера - с автоматическим заполнением накладной, но это еще более неудобный вариант (слишком много строк придется сначала маркировать, а потом снимать маркер).. Получается вариант с выделением нужных строк - самый удобный!
Зачем туплю? Ваши макросы до сих пор были самыми качественными из того что я смог найти! Значит туплю я, если не могу постановку задачи объяснить)
Попробую еще раз. Мне нужно реализовать заполнение накладной данными из последних строк приложенной таблицы. Необходимые для переноса в накладную строки выделяются мышкой. Макрос инициируется вручную (альт+ф8). По факту, из выделенных строк в накладную нужно перенести только значения артикула, наименования, количества и цены. Пока у меня получается заполнить накладную только через ручное копирование в накладную номеров пп- строк (вставляю их за границей области печати документа) и последующее авто заполнение нужных полей через ВПР. Но это не удобно. Есть еще вариант с проставлением напротив нужной строки маркера - с автоматическим заполнением накладной, но это еще более неудобный вариант (слишком много строк придется сначала маркировать, а потом снимать маркер).. Получается вариант с выделением нужных строк - самый удобный!Callione
Сообщение отредактировал Callione - Пятница, 26.07.2013, 23:45
Чтобы заполнить столбец маркером с какой-то ячейки до последней строки с данными, станьте на начальную ячейку, введите маркер и дважды кликните ЛКМ по маленькому черному квадратику в нижнем правом углу выделенной ячейки.
Чтобы заполнить столбец маркером с какой-то ячейки до последней строки с данными, станьте на начальную ячейку, введите маркер и дважды кликните ЛКМ по маленькому черному квадратику в нижнем правом углу выделенной ячейки.SergeyKorotun
Спасибо, SkyPro! Ваш макрос научил меня новому и закрыл сразу несколько открытых вопросов! Теперь я смогу заполнять всю накладную через выделение строк, как и хотел! И спасибо, что сделали макрос только для 2-х строк и автозаполнение сразу со второй страницы накладной - благодаря этому включил мозг и разобрался со всеми деталями!
Осталось еще пара вопросов, можете мне помочь с ними?
1. Сейчас накладная имеет фиксированное количество строк. Если партия большая - придется добавлять в середину еще один лист (по аналогии со второй страницей накладной), если партия маленькая - придется удалять вторую страницу. Вопрос - как сделать таблицу в накладной резиновой? Чтобы автоматом подстраивалась под необходимое количество выделенных строк? Обращаю внимание, что в накладной на каждой странице таблицы присутствует шапка, из-за нее я и не знаю, как решить эту задачку.
2. Как же все-таки формировать накладную отдельным файлом (не на соседней закладке)? В экселе или ворд - не принципиально..
Спасибо, SkyPro! Ваш макрос научил меня новому и закрыл сразу несколько открытых вопросов! Теперь я смогу заполнять всю накладную через выделение строк, как и хотел! И спасибо, что сделали макрос только для 2-х строк и автозаполнение сразу со второй страницы накладной - благодаря этому включил мозг и разобрался со всеми деталями!
Осталось еще пара вопросов, можете мне помочь с ними?
1. Сейчас накладная имеет фиксированное количество строк. Если партия большая - придется добавлять в середину еще один лист (по аналогии со второй страницей накладной), если партия маленькая - придется удалять вторую страницу. Вопрос - как сделать таблицу в накладной резиновой? Чтобы автоматом подстраивалась под необходимое количество выделенных строк? Обращаю внимание, что в накладной на каждой странице таблицы присутствует шапка, из-за нее я и не знаю, как решить эту задачку.
2. Как же все-таки формировать накладную отдельным файлом (не на соседней закладке)? В экселе или ворд - не принципиально..Callione
SkyPro, есть только один вопрос по макросу. В нем присутствует копируемый в ячейку символ "запятая", для разделения в ячейке артикула и наименования товара. Все бы хорошо, но если количество копируемых строк менее количества строк в накладной, то макрос копирует в остальные строки накладной одну запятую... Можете подсказать, как этого можно избежать?
Спасибо!
SkyPro, есть только один вопрос по макросу. В нем присутствует копируемый в ячейку символ "запятая", для разделения в ячейке артикула и наименования товара. Все бы хорошо, но если количество копируемых строк менее количества строк в накладной, то макрос копирует в остальные строки накладной одну запятую... Можете подсказать, как этого можно избежать?
Матраскин, спасибо! а обязательно фиксировать ячейку? Эдак по каждой записи в макросе придется дублировать эту проверку. Есть какой-нить способ обойтись парой строк, а не 100-200?
Матраскин, спасибо! а обязательно фиксировать ячейку? Эдак по каждой записи в макросе придется дублировать эту проверку. Есть какой-нить способ обойтись парой строк, а не 100-200?Callione
Коллеги, при переносе макроса SkyPro в свою базу столкнулся с проблемой:
В макросе есть ссылка на Лист2 (Sheets(2)). А у меня в базе закладка с накладной живет в Лист13.
[vba]
Код
Sub copy() With Sheets(2)
[/vba]
Если я оставляю без изменений, то данные копируются в Лист2, где у меня живут совсем другие данные. Если я изменяю 2 на 13, то при запуске макроса появляется ошибка: "Run time error `1004`: Application-defined or object-defined error" Если я меняю в настройках VBA (где текст макроса редактирую) Name листов 2 и 13 местами, то все равно не робит
Что я делаю не так?
спасибо, понял.
Коллеги, при переносе макроса SkyPro в свою базу столкнулся с проблемой:
В макросе есть ссылка на Лист2 (Sheets(2)). А у меня в базе закладка с накладной живет в Лист13.
[vba]
Код
Sub copy() With Sheets(2)
[/vba]
Если я оставляю без изменений, то данные копируются в Лист2, где у меня живут совсем другие данные. Если я изменяю 2 на 13, то при запуске макроса появляется ошибка: "Run time error `1004`: Application-defined or object-defined error" Если я меняю в настройках VBA (где текст макроса редактирую) Name листов 2 и 13 местами, то все равно не робит
Еще вопрос - как сделать так, чтобы макрос работал только при выделении строк на закладке "Учет"? Сейчас смог заполнить накладную с совершенно другой закладки, и конечно накладная заполнилась не корректными данными. Как быть?
Еще вопрос - как сделать так, чтобы макрос работал только при выделении строк на закладке "Учет"? Сейчас смог заполнить накладную с совершенно другой закладки, и конечно накладная заполнилась не корректными данными. Как быть?Callione