УРА! Пообедать толком не успел, а тут уже ответ(ы) готовы!
Спасибо Влад, очень помогли!!! Всё работает!
Спасибо , но слияние (выгрузку из Excel в Word) по сути можно сделать/настроить самим - это несложно! - В уроках Николая это можно найти. Не вижу смысла в приобретении доп. пакетов за денежку. Хотя каждому, учитывая разные задачи - свое решение. В моем же случае была задача организовать печать для пользователя в самой программе Excel. Которая теперь благополучно решена! - Ещё раз ОГРОМНОЕ СПАСИБО Владу!
Ниже для "коллег по несчастью" привожу полный текст макроса.
Спасибо всем и удачи!!!
Спасибо Влад, очень помогли!!! Всё работает!
Спасибо , но слияние (выгрузку из Excel в Word) по сути можно сделать/настроить самим - это несложно! - В уроках Николая это можно найти. Не вижу смысла в приобретении доп. пакетов за денежку. Хотя каждому, учитывая разные задачи - свое решение. В моем же случае была задача организовать печать для пользователя в самой программе Excel. Которая теперь благополучно решена! - Ещё раз ОГРОМНОЕ СПАСИБО Владу!
Ниже для "коллег по несчастью" привожу полный текст макроса.
| Код |
|---|
Sub PrintInvoices()
Sheets("ИМЯ_ЛИСТА_НА_КОТОРОМ_БЛАНК(КУДА ПОДСТАВЛЯЕМ ЗНАЧЕНИЕ)").Select
'Если не будет данного "аргумента", то нижеприведенный макрос будет работать только в том случае, если до его запуска выбран/сделан активным лист на который подставляются значения.
'В противном случае, подставляться будут верные значения и на нужный лист, НО на печать будет выводиться активный лист, то есть на котором был пользователь до запуска макроса.
Dim rngFrom As Range, Rng As Range
On Error Resume Next
Set rngFrom = Application.InputBox(prompt:="Выделите ячейки с номерам счетов, которые надо распечатать:", Title:="Откуда копируем", Type:=8).Areas(1)
If rngFrom Is Nothing Then Exit Sub
For Each cl In rngFrom.Cells.SpecialCells(xlCellTypeVisible)
[Inv] = cl.Value
'Inv - имя ячейки в которое подставляются значения - чтобы присвоить имя ячейке наводим на нее мышку (делаем её активной) и слева, там где строка формул есть окошко, по умолчанию в нем будет текущий номер ячейки, меняем его на необходимое нам и жмем Enter. Всё ячейка получило собственное имя (в нашем примере Inv), которое можно использовать в макросах или в формулах.
'.SpecialCells(xlCellTypeVisible) - важный атрибут, благодаря которому на печать будут выводиться только видимые/отфильтрованные значения, а не все из выделенного диапазона.
Calculate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Next
End Sub |
Изменено: - 10.06.2016 14:52:55