Страницы: 1
RSS
Задать область печати в зависимости от значения в конкретной ячейке.
 
Всем доброго дня!
Уважаемые форумчане, прошу оказать мне помощь.
В ячейке K25 находится формула.
Можно ли создать макрос, что-бы при значении в ячейке K25 =1 была задана область печати A1:J100,
а при других значениях - область печати A5:J100?
Заранее всех благодарен.
 
Код
If Range("K25") = 1 Then
  ActiveSheet.PageSetup.PrintArea = Range("A1:J100").Address
Else
  ActiveSheet.PageSetup.PrintArea = Range("A5:J100").Address
End
 
Kuzmich,спасибо за помощь.
Я виноват, т.к. дал не полную информацию. Дело в том, что я использую Суперфильтр на VBA, который нашел на этом сайте. При использовании Вашего кода не учитывается фильтрация.
Можно ли изменить код с учетом фильтра?

Сделал пример
 
Цитата
Сергей Эм написал:
Можно ли изменить код с учетом фильтра?
А может менять область печати с учетом фильтра =1?
Изменено: gling - 27.01.2020 20:13:12
 
gling, Спасибо, но это не то.
К сожалению, я не верно сформулировал задачу.
На листе Накладная_Массив фильтром формируются накладные на основе листа Заказ.
Однако, при отсутствии у первого клиента заказа, выводятся на печать 4 верхних строки его накладной, т.к. они расположены выше фильтра (так уж получилось).
Необходимо, что-бы при значении в ячейке K25 <>1 в область печати не попадал диапазон A1:J4.
 
Цитата
Сергей Эм написал:
Спасибо, но это не то.
Цитата
Сергей Эм написал:
в область печати не попадал диапазон A1:J4
А вы смотри вложенный в сообщение #4 файл?
 
gling,Спасибо.
Все понял. Перенесен фильтр в верхнюю строку.
Заработало!
Благодарю.
 
Цитата
gling написал:
А может менять область печати с учетом фильтра =1?

здравствуйте
а можно попросить подсказать код изменения области печати либо по формуле (в каждой строке) в ячейке AF?
либо по значению ячеек J19, J73, J127, J181.... (повторяются каждые 54 ячейки,вниз) в каждом листе (листы повторяются друг за другом вниз)

как минимум нужно печатать пока не пойдут нули=ошибки в ячейках и те дальше отпадает необходимость печати...листов много...
Буду очень признателен за помощь, спасибо!
Изменено: Вадим - 28.01.2020 15:44:29
 
Не понятно что вы хотите. Установите автофильтр по столбцу AF исключив нули и ошибки и печатайте без всякого кода.
 
Цитата
gling написал:
Установите автофильтр по столбцу
да рассматривали этот вариант с автофильтрами... но получается много вкладок и хотелось бы а автоматическом режиме менять область печати путем отсекания последующих сраниц с нулями и ошибками
а в этом не силен... и по этому попросил помощи
 
Решил применением формулы в диспетчере имен
имя Область_печати
диапазон:
Код
=СМЕЩ('Лист1'!$AE$1;;;СЧЁТ('Лист1'!$AE:$AF);-31)

область Лист
Страницы: 1
Наверх