Я немного напишу, как увидел Вашу тему, возможно, это не соответствует действительности и обидит Вас, но если на форуме нет ответов, то искать причину лучше в себе.
Я скачивал и смотрел выложенный файл. Сложилось впечатление, что это не Вы его делали, не знаете, как организованы данные, и что нужно сделать, а хотите просто получить готовый ответ. При этом форумчанам предлагается самостоятельно определить и сделать то, что Вам надо.
По сути, Вам необходим программный перебор данных в 1-й ячейке на скрытом листе со справочной информацией. Если бы Вы потрудились и описали задачу – вариант решения был бы минут через 5.
Если правильно понял надо:
PS а вот нервничать, и поднимать тему в топ это лишнее...
Я скачивал и смотрел выложенный файл. Сложилось впечатление, что это не Вы его делали, не знаете, как организованы данные, и что нужно сделать, а хотите просто получить готовый ответ. При этом форумчанам предлагается самостоятельно определить и сделать то, что Вам надо.
По сути, Вам необходим программный перебор данных в 1-й ячейке на скрытом листе со справочной информацией. Если бы Вы потрудились и описали задачу – вариант решения был бы минут через 5.
Если правильно понял надо:
Код |
---|
Sub Prnt_allObject() 'печать активного листа Dim lRow As Long, rngObject As Range, rngTek As Range 'определяем переменные Application.ScreenUpdating = False With Worksheets("Имя скрытого листа справочника") ' определяем лист с которого берем данные Set rngObject = .Range("b2:b20") 'указываем диапазон с данными для выборки объектов (номер, а не наименование) For Each rngTek In rngObject .Range("C5").Value = rngTek.Value 'вносим номер объекта в ячейку для расчетов '----------------------- 'если надо по всем датам, делаем цикл по датам For lRow = 25 To 37 '(где 25 это номер строки начала данных) .Range("C25").Value = .Cells(lRow, "B").Value Next lRow '----------------------- 'если не успевает Экс рассчитать, ставим задержку (в примере 1 секунда) 'Application.Wait Time:=Now + TimeSerial(0, 0, 01) 'а здесь отправляем документ на печать, строчка из макрорекордера ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="HP LaserJet 1200 Series PCL 6 (Ne04:)", Collate:=True Next End With Application.ScreenUpdating = True End Sub |
PS а вот нервничать, и поднимать тему в топ это лишнее...