Уже несколько раз обращался на этот замечательный форум с просьбой о помощи и мне всегда помогали решить возникшую проблему, надеюсь что и в этот раз поможете.
Исходные данные (файл прикреплен к сообщению):
Есть книга по учету грузоперевозок. На листе 1 есть таблица с данными о перевозках (номер поставки, перевозчик, маршрут и т.д.), в общем база данных, в которую постоянно добавляются новые данные.
Необходимо: на основе данных из Листа 1, вытаскивать данные на специальный бланк. Но здесь не все так просто.
Прошу сразу не отсылать меня к ресурсам сайта, т.к. прежде чем задавать свой вопрос, я внимательно прочитал статью "Заполнение бланков данными из списка (базы данных)" на этом сайте. Поискал информацию на Форуме и у меня получилось "вытягивать" данные по одному иксу в бланк.
Но дело в том, что за один раз необходимо перенести данные из нескольких определенных строк, т.е. создать несколько одинаковых бланков с разными данными.
Бланки не отправляются на печать, а пересылаются по e-mail, поэтому в идеале они должны либо сохраняться в отдельный файл Excel на диске, либо появляться на отдельных листах. Поэтому вариант с одним икс не подходит, мне нужно чтобы можно было выбирать из всей кучи строк таблицы на листе 1, нужные позиции, после чего нужные данные "выпадали" в нужное количество бланков, а затем либо сохранялись в отдельный файл, либо в отдельные листы.
Примечание:
На одном форуме я нашел приблизительно то, что мне нужно (скачать пример файла 022009.xls) : на листе есть таблица с данными, на втором листе есть бланк. Также есть кнопка на листе 1, к которой привязан макрос, после запуска которого данные по каждой строке выпадают на отельные бланки (отдельные листы). У данного метода есть один минус, макрос создает бланки для всех значений из Листа1, а как я уже говорил мне нужно выбирать только некоторые позиции и затем уже извлекать их на бланки.
Здравствуйте! Из Вашего примера невозможно понять - какие позиции для какого бланка "нужные". В примере ТОЛЬКО один бланк и в нём заполнено всего три поля. Каким образом задаётся количество бланков.
Юрий М Отвечаю на первый вопрос. Бланк был заполнен не полностью, а частично, для того чтобы было понятно о чем идет речь, но видно я не так объяснил. Попробую объяснить еще раз.
Каждая строка таблицы на листе 1, является источником данных для одного бланка, например, все данные которые содержатся в строке 5, должны попасть в бланк. Кстати я заполнил бланк до конца и полностью, чтобы было понятно о чем идет речь.
Отвечаю на второй вопрос.
Количество бланков должно задаваться с помощью выбора нужных строк в таблице (только пока не знаю как, метод с одним иском тут не поможет, т.к. он выбирает значения только одной строки).
Поясню на примере. Например, мне нужно заполнить три бланка для поставок с номерами 300000000 и 100000000 - как мне сделать чтобы создалось два отдельных бланка с данными для каждой поставки.
Извините что забыл прикрепить файл с заполненным бланком, вот он.
И еще немного не так выразился: Далее идет исправленный вариант моей мысли: Поясню на примере. Например, мне нужно заполнить ДВА бланка для поставок с номерами 300000000 и 100000000 - как мне сделать чтобы создалось ДВА отдельных бланка с данными для каждой поставки на отдельных листах в данном файле, либо в отдельных файлах Excel в той же папке, что и исходный файл.
"Например, мне нужно заполнить три бланка для поставок с номерами 300000000 и 100000000 - как мне сделать чтобы создалось два отдельных бланка с данными для каждой поставки" :-) так два или три? В примере всего один бланк, и тот заполнен не полностью - всего три поля: "Номер", "Дата", "Принято от". Возможно, что-то теряется при конвертации - у меня 2003. Не вижу проблем - маркируем несколько строк, сколько маркеров - столько и бланков создаём. Один лист используем, как шаблон для бланков (его можно скрыть), а нужное к-во создаём копированием.
Ответ на первый вопрос: в своем примере мне нужно два бланка (ошибся при вводе ответа, вместо два указал три)
Ответ на второй вопрос: Файл я сохранил в формате Office 97-2003, теперь все должно работать. В моем файле бланк один, т.к. это всего лишь образец того как должен выглядеть бланк в идеале с заполненными данными.
Что то я не совсем понял о маркировке строк, можно по подробнее об этом?
{quote}{login=pinguindell}{date=23.07.2011 06:14}{thema=}{post}Что то я не совсем понял о маркировке строк, можно по подробнее об этом?{/post}{/quote}Это то, о чём Вы сами говорили - символ "х" в столбце А.
спасибо, с заполнением бланка понятно. а не могли бы Вы подсказать как сделать так чтобы при помощи макроса листы с готовыми бланками сохранялись в виде отдельных файлов в нужную папку.
У меня есть еще один вопрос, относящийся к обсуждаемой теме.
Есть Excel файл, на Листе "Данные" - таблица с исходными данными , которые будут использоваться для заполнения бланка.
Также имеется макрос, который создает новые листы в книге с уже заполненными бланками для всех строк из Таблицы с данными. Но проблема в том, что макрос создает новые листы с уже заполненными бланками для всех записей из таблицы, а мне нужно чтобы он создавал листы с бланками только для маркированных строк.
Отсюда вопрос: что нужно изменить в макросе, чтобы он создавал новые листы на основе только маркированных строк в таблице на Листе Данные. Вот например, мне нужно создать бланки на основе данных строк за 2,16 и 20 апреля.
К сообщению прикреплен файл, думаю что из него станет более понятно о чем идет речь. <EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
добрый вечер. к сожалению, файлы в предыдущем примере не скачиваются. а у меня похожая ситуация: есть два файла - "реестр" (исходный, количество строк - до 100 в месяц), и "нн" (заполняется данными из реестра). проще всего - использовать функцию ВПР,но - клиенты запрещают вносить изменения в их форму налоговой.и никакие доводы не действуют...может вариант с макросом пройдёт? для примера бланк налоговой заполнил вручную. прошу помочь.цвет, форма,размер ячеек - всё должно быть как в примере.и плюс название файлов:наше пп_ваше пп_дата нн_сумма нн (похожее нашёл тут:http://excelvba.ru/XL_Files/Sample__26-12-2010__23-53-46.zip, но как это применить).