Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.10.2008, 12:27   #1
karantir
Новичок
Джуниор
 
Регистрация: 30.10.2008
Сообщений: 2
По умолчанию Запет разрыва группы строк при печати

Можно ли в экселе сделать так, чтобы группа строк в случае если при печати она не умещается на текущую страницу переносилась на следующую целиком?

Т.е. допустим у нас есть строки с 45 по 55 сгруппированные каким нибудь образом. А на страницу А4 умещается только 50 строк. Тогда строки с 1 по 45 надо напечатать на первой странице а группу строк с 45 по 55 полностью перенести на следующую.
karantir вне форума
Старый 30.10.2008, 16:44   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Не знаю, получится ли добиться такого штатными средствами Excel, но макросами это делается без проблем.

Для этого проверяем расположение разрывов страниц, и, если один из них попадает между 45 и 55 строками, то передвигаем его вверх до 45 строки.
Аналогично можно поступить и с остальными разрывами страниц, если на листе есть ещё "сгруппированные" строки.

Вот пример макроса:
Код:
Sub NewPageBreaks()
    If Workbooks.count = 0 Then Exit Sub
    'ActiveSheet.ResetAllPageBreaks  ' для сброса всех разрывов страниц
    For i = 1 To ActiveSheet.HPageBreaks.count
        With ActiveSheet.HPageBreaks(i)
            If .Location.Row > 45 And .Location.Row < 56 Then Set .Location = [a45]
        End With
    Next
End Sub

Последний раз редактировалось EducatedFool; 30.10.2008 в 17:01.
EducatedFool вне форума
Старый 30.10.2008, 18:38   #3
karantir
Новичок
Джуниор
 
Регистрация: 30.10.2008
Сообщений: 2
По умолчанию

спасибо огромное
karantir вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать их видимыми автофигуры при печати??? 181988 Microsoft Office Word 3 01.11.2008 23:01
Сохранение документа при печати vovk Microsoft Office Word 2 12.09.2008 10:12
по правой стороне поля, при печати, делает полосу Виктор1966 Свободное общение 1 11.03.2008 13:08
ServerSocket не чуствует разрыва leontv Работа с сетью в Delphi 11 07.11.2007 21:40
Объединенные строки, целостность последних строк при печати/просмотри Hammerok Microsoft Office Excel 1 01.11.2007 20:59