📄 Печать бланков Word, с заполнением их данными из Excel | ЭТО ПРОСТО ♻️

Поділитися
Вставка
  • Опубліковано 1 кві 2016
  • Если вам нужно напечатать например 1000 бланков, отличающихся только набором строчек с данными, то в данном видео я рассказываю простой способ реализации данной задачи посредством всего одной программы - Microsoft Excel и макроса. Весь процесс разбит на 5 простых шагов.
    #бланк #печать #автозаполнение
    Текст макроса:
    "Sub АвтоПечать()
    '
    For i = 1 To 800
    Range("J2").Select
    ActiveCell.FormulaR1C1 = i
    Range("J2").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1,Copies:=1, Collate _ :=True, IgnorePrintAreas:=False
    Next
    '
    End Sub
    Файл пример: yadi.sk/i/nKZltnJzqgxeG
    ===

КОМЕНТАРІ • 89

  • @kentau81
    @kentau81 7 років тому +1

    Ну наконец то, я нашел что искал. Спасибо!!! Очень понятно и все просто.

    • @GROM_TB
      @GROM_TB  7 років тому

      Пожалуйста!!! Рад что мой труд не напрасен. Очень приятно получать такие комментарии!

  • @diolem
    @diolem 2 роки тому +1

    Спасибо большое за помощь!

    • @GROM_TB
      @GROM_TB  2 роки тому

      Большое пожалуйста! Подписывайтесь на канал, ставьте лайки, жмите Спасибо либо делайте донаты на канале, всё приветствуется ;-)

  • @user-pw9xl2sh4o
    @user-pw9xl2sh4o 5 років тому +1

    Спасибо большое. Очень помогло в обработке научных данных.

    • @GROM_TB
      @GROM_TB  5 років тому +1

      Спасибо за комментарий! Не думал что мое видео будет полезно и науке)). Но тем приятнее.

  • @Satti_va
    @Satti_va 7 років тому +1

    супер , я давно искала такую информацию! большое спасибо!!!!!

    • @GROM_TB
      @GROM_TB  7 років тому

      Спасисбо за Ваш комментарий! Очень рад, что информация оказалась полезной.

  • @user-ex9vq6vt6s
    @user-ex9vq6vt6s 3 роки тому +1

    Супер классно все сделал!!!!

    • @GROM_TB
      @GROM_TB  3 роки тому +1

      Спасибо за высокую оценку! Очень приятно, очень...

  • @user-bp3sv4ni1w
    @user-bp3sv4ni1w 5 років тому +1

    Спасибо за видео! Очень пригодилось

    • @GROM_TB
      @GROM_TB  5 років тому

      Спасибо, что не поленились написать комментарий. Рад, что видео помогло!

  • @user-yp1rq4se3t
    @user-yp1rq4se3t 7 років тому +1

    КрасавЧЕГ, спасибо огромное!

    • @GROM_TB
      @GROM_TB  7 років тому

      Спасибо за комментарий! Очень приятный отзыв, рад что видео оказалось Вам полезно...

  • @Tsynade1
    @Tsynade1 6 років тому +2

    уже полтора года пытаюсь сделать то что Вы здесь показываете, и обидно в двойне так как объяснено в видео очень поверхностно, но информация для размышления дана и за это огромное спасибо !

    • @GROM_TB
      @GROM_TB  6 років тому +1

      Спасибо за комментарий! Поверхностно? Я же приложил пример ... Если у вас есть какие то конкретные вопросы - задавайте, я открыт для общения.

    • @MDunaev
      @MDunaev Рік тому

      Возможно, Вам покажется удобнее механизм слияния в Ворде. Там тоже достаточно тесная связь с Экселем, хотя можно обойтись и без него.

  • @timofeysub283
    @timofeysub283 4 роки тому +1

    спасибо!!!

    • @GROM_TB
      @GROM_TB  4 роки тому

      Велкам, бро)

  • @mandarina2016
    @mandarina2016 7 років тому +3

    Очень полезно и просто объяснено на конкретном примере. Только зря Вы насекомых показываете в начале видео, и звук как-то скачет. Ну это так, на будущее, для совершенствования... Главное ведь суть, а суть ясна. Спасибо большое!

    • @GROM_TB
      @GROM_TB  7 років тому

      Спасибо за Ваш коммантарий! Все замечания принимаю, насекомых в новых видео давно убрал. Спасибо, буду стараться в будущем писать качественнее.

    • @user-ni6co9cg5m
      @user-ni6co9cg5m 4 роки тому +1

      скорее всего автор - шмель) микрофон поставил на запись, а сам летает по комнате, то ближе, то дальше =)

  • @Klickklock
    @Klickklock 4 роки тому +1

    Подскажите пожалуйста, уже неделю голову ломаю. Я не знаю как правильно называть некоторые названия так что могу ошибаться. Есть скачанный с государственного сайта бланк( документ) пфд. Я могу его открыть и заполнить в обычном ридере. Но я хочу загнать этот пдф документ в эксель и что бы он заполнялся данными из таблицы эксель. Это вообще реально? Или же есть альтернативный вариант? За любой совет спасибо.

    • @GROM_TB
      @GROM_TB  4 роки тому +1

      Приветствую! Нет ничего невозможного. При чем самый простой вариант лежит на поверхности - вы можете заранее напечатать 100 пустых бланков, а затем создать файл заполняющий нужные графы по схеме из данного видео. Или превратить PDF файл в картинку (например сделав скриншот) или воспользовавшись каким-то конвертером, и опять же - применить описанную в видео схему...

  • @user-wl8ot6cd6d
    @user-wl8ot6cd6d Рік тому +1

    Можно доработать макрос? Как добавить в макрос что бы не печатал 800 листов, а что бы выбирал максимальное число в списке. Как написать это в макросе?

    • @GROM_TB
      @GROM_TB  Рік тому

      Попробовать переделать можно, но при "переделке" Вы, насколько я понимаю, столкнётесь с множественностью возможных путей решения и рядом проблем, с каждым из этих путей. Ознакомьтесь, например, с этим обсуждением похожего на Ваш вопрос: planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=4115
      Именно поэтому, для упрощения, в примере я и использовал четко определенное значение циклов печати.

  • @entelechya
    @entelechya 4 роки тому +2

    а как сделать прозрачный шаблон который наложен на эксель? Имею ввиду из ворда сделать прозрачный. спасибо.

    • @GROM_TB
      @GROM_TB  4 роки тому

      Выделяете область в Word, копируете её в буфер обмена (Ctrl-C), далее делаем в Excel - Специальная вставка - объект Word. Вуаля...

    • @user-zg3xr8ts9g
      @user-zg3xr8ts9g 4 роки тому

      автор, ты либо дурак, либо прикидываешься таким. вставка word-объекта не дает прозрачный фон, а вот вставка рисунка.png с прозрачным фоном прозрачность сохраняет. зачем людей в заблуждение вводишь?

    • @GROM_TB
      @GROM_TB  4 роки тому +1

      Попробуйте, Вы удивитесь. А так - просто я эксперт в ИТ...

    • @user-zg3xr8ts9g
      @user-zg3xr8ts9g 4 роки тому

      ага, эксперт)... во всех технологиях от 4й промышленной революции) скромно так о себе великом

    • @GROM_TB
      @GROM_TB  4 роки тому +2

      @@user-zg3xr8ts9g Не, я только в ИТ, и около того. Во всех наверное это вы, раз я для вас дурак)

  • @aibabrat
    @aibabrat 5 років тому +1

    Уррраааа Эврика 3 😍😍😍я нашёл. Мне очень полезная информация.
    Автор вам большое спасибо за информацию.

    • @GROM_TB
      @GROM_TB  5 років тому

      Рад, что смог Вам помочь. На самом деле действительно полезное видео, я когда на работе впервые это реализовал для печати этих самых 800 бланков доверенностей - все дико пищали от восторга ... Есть конечно моменты, на которых можно по неопытности запнуться, но если всё делать аккуратно и с включенной головой, то точно всё получится! Удач

    • @aibabrat
      @aibabrat 5 років тому +1

      @@GROM_TB добрый день!
      Уважаемый автор вы можете мне скинуть этого файла Excel формат. Моё почту Aibek.1993kg@gmail.com. потому что я не смог написать макрос от и до. По этому прошу вас отправить мне электронной почте.

    • @GROM_TB
      @GROM_TB  5 років тому

      @@aibabrat Легко. Качай - yadi.sk/i/nKZltnJzqgxeG , а вот почту свою лучше так не "светить", спамеры не дремлют. Они собирают по всему интернету "засвеченные" почты и потом добавив их в спам-базу, используют при рассылках спама. Побробнее об этом я рассказывал тут - ua-cam.com/video/RA0DnI7ZX1A/v-deo.html

    • @aibabrat
      @aibabrat Рік тому

      Добрый день, через 4 год я уже стал эксперт по экзель. Теперь VBA пищу смело. Спасибо вам ещё раз.

  • @skymetrdon8839
    @skymetrdon8839 6 років тому +1

    Как изменить макрос, что бы печать заданный (изменяемый) диапазон? Например: с 1 по 18 затем с 18 по 36 и тд

    • @GROM_TB
      @GROM_TB  6 років тому

      Это же Excel! Сохраните файл с новым названием, удалите в нем строки с 19 по 35-ую и печтатайте всё!
      Ну или если Вам постоянно нужно печатать два диапазона, то скопируйте цикл, и в первом счётчик с 1 до 18, а во втором счётчик с 36 по 800 (или сколько там у вас будет всего страниц?). Имхо сильно усложнять это не стоит. Но можно конечно и счётчик вынести на Лист, и править дипапазоны печати не входя в макрос...

  • @Desyachev
    @Desyachev 3 роки тому +1

    Спасибо огромное! Очень помогло. Один вопрос, может вы знаете как запустить этот макрос с другого листа посредством кнопки. Перелазил везде где можно и ничего не получается.

    • @GROM_TB
      @GROM_TB  3 роки тому

      Макрос применим на любом листе, при его создании указывается комбинация клавиш для его запуска (хотя она и не всегда работает). Но если в макросе указать например переход на конкретный лист, то это может помешать его использованию на другом листе...

    • @Desyachev
      @Desyachev 3 роки тому +1

      @@GROM_TB Пришлось оставить на той же странице, но, в принципе, проблема, которая этот вопрос породила решилась. При этом немного (методом тыка) модифицировал код, чтобы он печатал столько бланков сколько заполнено строк.
      Еще раз спасибо.

    • @GROM_TB
      @GROM_TB  3 роки тому

      @@Desyachev Рад быть полезным. Буду рад подписке ;-)

  • @user-wq8ed9yc7p
    @user-wq8ed9yc7p 3 роки тому

    а мне через пять лет понадобился это функция

    • @GROM_TB
      @GROM_TB  3 роки тому +1

      ...а видео как назло потеряется и придётся всё заполнять вручную =)

  • @Gargaev_TMG
    @Gargaev_TMG 7 років тому +1

    Привет.
    Что то не получилось....НЕ закрывает...
    ==============
    Sub Автопечать()
    '
    ' Автопечать Макрос
    '
    ' Сочетание клавиш: Ctrl+q
    '
    For i = 1 To 3
    Range("J50").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("J50").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False

    ' Dim li As Long
    ' With Sheets("Макет")
    ' For li =2 To Cell(Rows.Count, 1) .Row
    ' .Range(M2).Value=Cells(li,1)
    ' .Calcutate
    End Sub
    ==============

    • @GROM_TB
      @GROM_TB  7 років тому +1

      Приветствую Олег! Не совсем понял что именно по вашему должно Закрывать? Бланк вставленный в Excel из Word находится на определенной вкладке, а макрос обновляет значение в специальной ячейке, с порядковым номером (то самое значение For i = 1 To 999), а автоматом обновляются и все формулы на странице + сразу же производится печать посредством ActiveWindow.SelectedSheets.PrintOut . На другой вкладке этого же файла находятся данные для подстановки, в первой колонке которой все строки пронумерованы всквозную по возрастанию от 1 до 999. Число строк с данными должно соответствовать значению в "счётчике" в макросе (For i = 1 To 999).
      Т.е. вы запускаете макрос, и смотрите на значение в спец.ячейке, оно автоматом должно приводится к "999" или к "3" если макрос у вас сейчас в том виде, что Вы процитировали. Ничего закрываться не должно. Диалоговое окно печати тоже не отображается, производится просто фоновая печать текущего листа... Для теста руками вбейте в спец.ячейку руками 0 и запустите макрос, в спец ячейке должно отобразиться 3. Если же физическая печать не началась, то проверьте выбранный по умолчанию принтер и его очеред печати.
      Постарался рассказать очень просто и подробно. Если что-то не донёс смело спрашивайте еще, очень рад что Вы задали этот вопрос, ведь раз не сразу вышло у Вас, возможно не сразу получится и у еще кого то.... А так мы предвосхитим эту ситуцию.

    • @Gargaev_TMG
      @Gargaev_TMG 7 років тому +1

      Это я не верно задал вопрос. Сорри.
      У меня все получилось до макроса. сделал все поля. В ручную меня счетчик подставляются данные.
      Проблема с макросом.
      Текст макроса привел выше.
      Когда запускается макрос отладчик пишет ошибку.
      Вот ссылка на фото ошибкт
      joxi.ru/BA0aRlgSJza6wr

    • @GROM_TB
      @GROM_TB  7 років тому

      Ошибка компиляции. Компилятор говорит, что вы где то потеряли команду Next. На самом деле возможно возникла проблема с форматированием текста... Например команда Next которая стояла в отдельной строке, присоединилась к предыдущей строке, и компилятор её "не видит", так как она перестала быть отдельной командой. В общем надо проверить текст.

    • @Gargaev_TMG
      @Gargaev_TMG 7 років тому

      Текст я и привел ранее.
      можете подсказать, где ошибка.
      Могу файл переслать.

    • @GROM_TB
      @GROM_TB  7 років тому

      Цитирую текст макроса, приведенный в описании к этому видео, в нем команда Next (кстати которая является концом цикла For) - на её исконном месте, в отдельной строке:
      Sub АвтоПечать()
      '
      For i = 1 To 800
      Range("J2").Select
      ActiveCell.FormulaR1C1 = i
      Range("J2").Select
      ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1,Copies:=1, Collate _ :=True, IgnorePrintAreas:=False
      Next
      '
      End Sub

  • @clavatishoa3830
    @clavatishoa3830 Рік тому

    Мне подходит такой метод. Но у меня форма меняется, как это осуществить? Допустим у меня 5 таких форм протокола, потом 5 других форм, 1 такая, 3 других (в зависимости от списка, который я составлю (содержание)

    • @GROM_TB
      @GROM_TB  Рік тому

      Никакой адаптивности у данного метода особо нет, в другой задаче с двумя различными формами я сделал просто двухстраничную форму, с двумя бланками, при этом оба бланка заполняются данными безусловно и печатаются. Наверняка и с вашей задачей можно что-то придумать изящное, вопрос только в желании и времени...

    • @clavatishoa3830
      @clavatishoa3830 Рік тому

      @@GROM_TB Благодарю за ответ. Дублировал данный вопрос на форум. Ищу направление куда копать. Хочу, чтобы Ексель печатал по составленному содержанию, при этом нумеровал их и менял данные. К сожалению гугл по запросу "Печать по содержанию" ответ не дает, буду искать!

    • @GROM_TB
      @GROM_TB  Рік тому

      Приведите пример ваших данных, и объясните, каким образом определяется нужный набор печатных форм. Может что ещё подскажу...

    • @clavatishoa3830
      @clavatishoa3830 Рік тому

      @@GROM_TB Я работаю в электролаборатории. Например, такая ситуация, заказчик приносит диэлектрические перчатки, галоши и указатель напряжения. Все вышеперечисленное являются средствами защиты (от поражения эл. током) и их необходимо испытать повышенным напряжением, по окончанию испытания выдать протокол.
      На каждое средство защиты, будь то перчатки или галоши, выдается протокол испытания, который имеет свою индивидуальную форму (в общих чертах одинаковые, но они все-таки отличаются). Т. е. на перчатки одна форма протокола, на галоши другая.
      С какой проблемой наша лаборатория столкнулась - с человеческим фактором. Вечная проблема, где-то страницы пронумерованы неверно, где-то шапку забыли поменять, где-то дата, где-то заказчика не написали и прочее.
      И представим такую ситуацию, нам заказчик приносит 20 пар перчаток, 15 галош, 4 диэлектрические отвертки, 5 изолирующих штанг. Я беру форму протокола, например, начинаю с перчаток, и копирую такой протокол 20 раз, потом протокол галош 15 раз и т. д. Протокол занимает 1 страницу. Поэтому весь отчет займет около 44 страниц (не считая титульный лист и содержание). И во всех 44 страницах, включая титульный лист и содержание, я вручную перебиваю (копирую-вставляю) данные (далее привожу пример моих данных, которые я собираюсь сделать как вы - таблицей): заказчик, дата испытания (сегодня, но бывает и задним числом, как уж зарегистрируем), название инструмента и его заводской №, дата следующего испытания (у перчаток раз в полгода, у галош раз в год) - формула должна будет считать = дата сегодня + полгода (год), номер страницы (форма - x из y, например 7 из 48), номер протокола (467 - 1, 467 это номер отчета, 1 номер протокола, соответственно 20 пара перчаток будет 467 - 20), адрес заказчика и так далее.
      Я хотел-бы, чтобы на отдельном листе выпадающим списком выбирал, на что мне нужен протокол, например диэлектрические перчатки и протягиваю до 20 строчки. На другой странице, в зависимости от того, что я выбрал, перчатки или боты, будут генерироваться необходимые мне данные, а некоторые, конечно, придется вручную писать, например заводской номер. Далее, данные должны в зависимости от содержания, которое я составил, отправляться в нужную форму протокола (чтобы данные перчаток шли в протокол перчаток).
      По итогу я должен запустить макрос и чтобы все 44 страницы распечатались в порядке, согласно содержанию. При этом у каждого протокола должна быть соответствующая нумерация, на последней должно быть "44 из 44".
      Мне приглянулся Ваш метод. Осталось придумать, как сделать, чтобы Ексель распечатал согласно содержанию, нужное мне количество тех или иных "бланков". При этом чтобы он нумеровал их и менял данные в соответствии с номером строки в таблице, в общем и целом, как у Вас в видео. Решение где-то близко. Я не против и заплатить, но у нас в любой момент может поменяться форма протокола, я не смогу каждый раз платить за актуализацию. Мозгов своих хватит рано или поздно это сделать, потому что наши коллеги уже сделали такое, просто никак не поделятся. Да даже если поделятся, протоколы они то одинаковые у всех лабораторий, но тем не менее, каждая лаборатория вносит свои особенности, свой так сказать подчерк, хотя бы форма шапки уже будет другая, поэтому поменять на свою форму будет проблематично и в дальнейшем будешь зависеть от нее, если что не так пойдет, ты не сможешь решить возникшую проблему.

    • @clavatishoa3830
      @clavatishoa3830 Рік тому

      @@GROM_TB А так, все тоже самое, что у Вас. Данные очень простые, некоторые будут формулой вычисляться, где-то будут сыллки, что-то будет вручную вбиваться, где-то будут выпадающие списки, но в сумме все тоже самое. Проблема только в том, как это все распечатать с нумерацией страниц в соответствии с содержанием. На перчатки протокол будет один и тот же, будут меняться только данные. Но нам не всегда приносят одни перчатки, иногда приносят и сверх этого, очень много инструмента. Поэтому придется менять форму протокола. Но в итоге нумерация страниц должна быть соответственно правильной. Отчет будет единый.

  • @ulugbekmirzaaliev6332
    @ulugbekmirzaaliev6332 Рік тому

    запустил макрос не подставляет данные на автомате а печатает один и тотже , что не так?

    • @GROM_TB
      @GROM_TB  Рік тому

      Для счётчика используется значение в ячейке J2. При запуске скрипта число в этой ячейке увеличивается?

    • @ulugbekmirzaaliev6332
      @ulugbekmirzaaliev6332 Рік тому +1

      @@GROM_TB да увеличивается, но печатает одно и тоже

    • @GROM_TB
      @GROM_TB  Рік тому +1

      Ок, счётчик работоспособен. Далее происходит что, форма заполняется значениями со второго листа, из строки с номером счётчика. У вас там корректные данные? Если например там все строки одинаковые, то форма будет заполняться одинаковыми значениями и будет "печататься одно и то же".

  • @user-ie3zj8rw5r
    @user-ie3zj8rw5r 5 років тому

    Это стандартная функция. Макрос не нужен. Серия однотипных документов методом слияния
    ua-cam.com/video/HzyDVDdb_CI/v-deo.html

    • @GROM_TB
      @GROM_TB  5 років тому +2

      Спасибо за комментарий. Но имхо это большой вопрос, какой метод проще! Пусть зрители сами выбирают...

  • @MrPups1313
    @MrPups1313 5 років тому

    это всё умеет делать ворд (базовая функция), во вкладке "рассылки". зачем изобретать велосипед?

    • @GROM_TB
      @GROM_TB  5 років тому

      Выгрузка данных из любой БД - будет представлять из себя по любому Excel'евский файл. Так что одним Вордом, для обработки тут по определению не получится.

    • @elenaaliseychik8026
      @elenaaliseychik8026 2 роки тому

      спасибо огромное, хоть один грамотный человек! Автор говорит не понятно, звук ужасный, шаги пропускает. Благодаря вашему комментарию все получилось

  • @user-bs1yf5jd4r
    @user-bs1yf5jd4r 7 років тому +9

    тема хорошая, но пояснения хуже некуда. сложно понять автора

    • @GROM_TB
      @GROM_TB  7 років тому +2

      Спасибо за комментарий. Конечно же у всех пользователей разная подготовка, и соответственно некоторым понять тему будет сложнее. Я готов ответить на Ваши конкретны вопросы, если Вы напишете списком то, что не поняли.

    • @ppr8117
      @ppr8117 5 років тому +2

      Согласен, очень сильно плавает звук, приходится самому додумывать...
      Автор, макрос пишется не в текстовом редакторе, а в редакторе Visual Baic (8:10 сек.)
      АВТОР! В 21-ом веке такое качество звука не допустимо!

    • @GROM_TB
      @GROM_TB  5 років тому

      @@ppr8117 Микрофон моего старого ноутбука пишет звук с какими-то "гашениями". Это какая то аппаратная проблема...

    • @ppr8117
      @ppr8117 5 років тому +1

      Гаджеты, обзоры, металлопоиск, может попробовать отключить звук и оставить только включённым микрофон?! Всё это можно сделать в установках звука... Удачи в будущем!!!

    • @GROM_TB
      @GROM_TB  5 років тому

      @@ppr8117 Того ноута (а значит и проблемы) уже нет. Я поменял его на ua-cam.com/video/6ZfhpVNysUA/v-deo.html Спасибо, и вам всех благ!

  • @user-em2kv5lc7e
    @user-em2kv5lc7e 5 років тому

    применяйте терминологию. не шаблон, а форма

    • @GROM_TB
      @GROM_TB  5 років тому +1

      В терминах "офиса" это может называться так, в терминах 1С - по-другому. Но всё равно, спасибо за комментарий!

    • @MrPups1313
      @MrPups1313 5 років тому

      когда коту делать нечего он ... так и так правильно в Excel и Word оно называется ИМЕННО "ШАБЛОН", а не "форма". прежде чем исправлять, загляни в начале в программу, чтобы потом не выглядеть нелепо

    • @user-em2kv5lc7e
      @user-em2kv5lc7e Рік тому

      @@MrPups1313 приходит ТЗ, " а что это? не это не так называется. Тут вообще результат распечатка.

  • @saschokkrf3375
    @saschokkrf3375 3 роки тому

    Объясняет одно показывает другое...не все шаги понятны

    • @GROM_TB
      @GROM_TB  3 роки тому

      Ровным счётом, что показываю, то и комментирую. Да, тема не из самых простых... Задавайте вопросы, что именно не понятно.

  • @BlackBeltGorlovka
    @BlackBeltGorlovka 5 місяців тому +1

    Выкинь свой микрофон к едреней фене

    • @GROM_TB
      @GROM_TB  5 місяців тому +1

      Это немного проблематично,, и может быть сопряжено с непростой разборкой, так как он встроен в ноутбук)))