Задачу которую будем решать, сформулируем следующим образом.
У вас есть список в Excel с данными, в нашем примере это порядковый номер, наименование оборудования и инвентарный номер, который подлежит списанию.
Вид исходных данных имеет вид, отображенный на рисунке.
Нам необходимо для каждой строки из этого списка распечатать акт списания оборудования.
Самый простой и трудоемкий процесс , это в шаблон акта списания
в 8 строку вписывать новые данные из исходного списка, потом распечатывать, потом опять вбивать данные, потом печать и так до тех пор, пока не психанете :)
Второй вариант проще, написав небольшой скрипт , Вы сможете сохранить массу времени для других дел.
Автоматизация
Переведем наш шаблон акта в Excel и запомним ячейки которые нам нужно менять. На предыдущем рисунке они обведены.
1.Макросу передается в виде входных данных список выделенных ячеек
2. По каждой из строк в выделенном диапазоне, идет присвоение новых значений в другой лист и другие ячейки
3. Распечатывается полученный результат
4. Повторение цикла на 2 пункт
Несложно заметить что Worksheets("Лист1").Range("B8").Value это значение ячейки B8 в нашем техническом акте на списание. То, что сам шаблон находится на первом листе Лист1, тоже не для кого не секрет.
Эти поля могу быть изменены под Ваши конкретные нужды, смотря какого вида Вы сделали форму.
c.Offset(0, 1).Value - это значение из выделенного диапазона, смещенного на 1 позицию справа.
Если мы посмотрим на исходный список оборудования, и примем, что мы выделили все три стролбца, то значением c.Offset(0, 1).Value будет наименование списанного оборудования.
Worksheets("Лист1").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False -Печатает полученную форму с новыми значениями.
Остался последний штрих, который нам добавит удобства в работе. Привяжем к макросу сочетание клавиш, для запуска его.
Таким образом мы указали что наш макрос будет исполнятся при нажатии клавиш Ctrl+q
И сама работа по распечатыванию, массы актов на списание (сто или тысячу штук) у вас займет несколько движений мышью и нажатие "горячей клавиши"
1. Выделяем из исходного списка то оборудование, данные которых мы хотим распечатать, с теми полями которые участвуют в печатной форме и нажимаем Ctrl+q
2. Идем пить чай :)
И напоследок: Как можно догадаться, таким незамысловатым образом можно автоматизировать распечатку приглашений, писем, форм, анкет и прочих документов.