Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос строк из таблицы в бланк для последующей печати - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк из таблицы в бланк для последующей печати (Макросы/Sub)
Перенос строк из таблицы в бланк для последующей печати
Raven2009 Дата: Воскресенье, 01.12.2019, 19:35 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.

Есть таблица на листе, в которую по нажатию Кнопки1 вызывается форма для добавления в нее информации.

Идея в том, чтобы при нажатии кнопки На печать! все строки из таблицы копировались на лист На печать в таком же формате, как я оформил 1 страницу на этом листе, т.е. 1 строка из таблицы = 1 страница в бланке.

Через эксель такое еще не делал, подскажите пожалуйста, как такое можно сделать?
К сообщению приложен файл: 8049985.rar(21.2 Kb)
 
Ответить
СообщениеДобрый день.

Есть таблица на листе, в которую по нажатию Кнопки1 вызывается форма для добавления в нее информации.

Идея в том, чтобы при нажатии кнопки На печать! все строки из таблицы копировались на лист На печать в таком же формате, как я оформил 1 страницу на этом листе, т.е. 1 строка из таблицы = 1 страница в бланке.

Через эксель такое еще не делал, подскажите пожалуйста, как такое можно сделать?

Автор - Raven2009
Дата добавления - 01.12.2019 в 19:35
Kuzmich Дата: Воскресенье, 01.12.2019, 20:42 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 430
Репутация: 88 ±
Замечаний: 0% ±

Excel 2003
А зачем на лист "На_печать" копировать все строки из таблицы, может печатать только добавленные?
 
Ответить
СообщениеА зачем на лист "На_печать" копировать все строки из таблицы, может печатать только добавленные?

Автор - Kuzmich
Дата добавления - 01.12.2019 в 20:42
Raven2009 Дата: Воскресенье, 01.12.2019, 20:46 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
может печатать только добавленные


все добавленное в таблицу нужно))

Сперва юзер добавляет в таблицу, потом выводит на печать)
 
Ответить
Сообщение
может печатать только добавленные


все добавленное в таблицу нужно))

Сперва юзер добавляет в таблицу, потом выводит на печать)

Автор - Raven2009
Дата добавления - 01.12.2019 в 20:46
Kuzmich Дата: Воскресенье, 01.12.2019, 20:51 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 430
Репутация: 88 ±
Замечаний: 0% ±

Excel 2003
Я предлагаю в цикл
[vba]
Код
For i = 1 To UserForm1.TextBox2
[/vba]
встроить строки, выводящие на печать очередную добавляемую строку
 
Ответить
СообщениеЯ предлагаю в цикл
[vba]
Код
For i = 1 To UserForm1.TextBox2
[/vba]
встроить строки, выводящие на печать очередную добавляемую строку

Автор - Kuzmich
Дата добавления - 01.12.2019 в 20:51
Raven2009 Дата: Воскресенье, 01.12.2019, 20:59 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А теперь понял))

Но там же может быть добавлено за раз сразу несколько строк) Как тогда быть? Номер поддона на каждом листе нужен уникальный...
 
Ответить
СообщениеА теперь понял))

Но там же может быть добавлено за раз сразу несколько строк) Как тогда быть? Номер поддона на каждом листе нужен уникальный...

Автор - Raven2009
Дата добавления - 01.12.2019 в 20:59
Kuzmich Дата: Воскресенье, 01.12.2019, 21:10 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 430
Репутация: 88 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
For i = 1 To UserForm1.TextBox2
        objInb.Range.Cells(iLastRow, 1) = UserForm1.TextBox1
        objInb.Range.Cells(iLastRow, 2) = ID + i
        objInb.Range.Cells(iLastRow, 3) = UserForm1.TextBox3
        iLastRow = iLastRow + 1
        With Worksheets("На_печать")
          .Range("A2") = ID + i
          .Range("A4") = UserForm1.TextBox1
          .Range("A6") = UserForm1.TextBox3
          .Range("A1:A6").PrintOut Copies:=1, Collate:=True
        End With
    Next
[/vba]
 
Ответить
Сообщение[vba]
Код
For i = 1 To UserForm1.TextBox2
        objInb.Range.Cells(iLastRow, 1) = UserForm1.TextBox1
        objInb.Range.Cells(iLastRow, 2) = ID + i
        objInb.Range.Cells(iLastRow, 3) = UserForm1.TextBox3
        iLastRow = iLastRow + 1
        With Worksheets("На_печать")
          .Range("A2") = ID + i
          .Range("A4") = UserForm1.TextBox1
          .Range("A6") = UserForm1.TextBox3
          .Range("A1:A6").PrintOut Copies:=1, Collate:=True
        End With
    Next
[/vba]

Автор - Kuzmich
Дата добавления - 01.12.2019 в 21:10
Raven2009 Дата: Воскресенье, 01.12.2019, 21:40 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
.Range("A1:A6").


Это ведь фиксированный диапазон?)) количество добавленных строк может быть выйти из этого диапазона...

Да и таблица не с А1 идет....

Может лучше все-таки после добавления в таблицу копировать на бланк для печати? Пользователь сможет проверить дополнительно перед печатью...

Аааа, разобрался.... неверно расшифровал. Только на работе завтра смогу проверить... Принтера дома нет... Заранее спасибо!


Сообщение отредактировал Raven2009 - Воскресенье, 01.12.2019, 21:46
 
Ответить
Сообщение
.Range("A1:A6").


Это ведь фиксированный диапазон?)) количество добавленных строк может быть выйти из этого диапазона...

Да и таблица не с А1 идет....

Может лучше все-таки после добавления в таблицу копировать на бланк для печати? Пользователь сможет проверить дополнительно перед печатью...

Аааа, разобрался.... неверно расшифровал. Только на работе завтра смогу проверить... Принтера дома нет... Заранее спасибо!

Автор - Raven2009
Дата добавления - 01.12.2019 в 21:40
Kuzmich Дата: Воскресенье, 01.12.2019, 21:47 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 430
Репутация: 88 ±
Замечаний: 0% ±

Excel 2003
Диапазон .Range("A1:A6") относится к листу "На_печать" и в него добавляются
в цикле новые строки и происходит печать. Попробуйте запустить макрос, только не
забудьте включить принтер
 
Ответить
СообщениеДиапазон .Range("A1:A6") относится к листу "На_печать" и в него добавляются
в цикле новые строки и происходит печать. Попробуйте запустить макрос, только не
забудьте включить принтер

Автор - Kuzmich
Дата добавления - 01.12.2019 в 21:47
Raven2009 Дата: Понедельник, 02.12.2019, 09:43 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Большое спасибо)) в течение дня проверю.

Вот подумал, что пользователю делать, если принтер по техническим причинам не распечатает листы и нужно будет повторно вывести на печать... Может подскажете, как можно будет обрабатывать такую ситуацию?))
 
Ответить
СообщениеБольшое спасибо)) в течение дня проверю.

Вот подумал, что пользователю делать, если принтер по техническим причинам не распечатает листы и нужно будет повторно вывести на печать... Может подскажете, как можно будет обрабатывать такую ситуацию?))

Автор - Raven2009
Дата добавления - 02.12.2019 в 09:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк из таблицы в бланк для последующей печати (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!