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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2015, 15:36   #1
Filippokx2015
 
Регистрация: 17.09.2015
Сообщений: 3
По умолчанию Перенос части листа на другой лист

Добрый день!
Стоит следующая задача
При печати таблицы может возникнуть ситуация что футер таблицы(с подписями и тд) переносится на след страницу , в этом случае на след странице должна быть хотя бы одна табличная запись.


Что требуется , как то понять что футер перешел без табличной записи , и в этом случае вырезат допустим 4 последних строки предпоследней страницы и перенести их на посл страницу перед футером

Во вложение наглядный пример НЕ ПРАВИЛЬНОЙ печати
Изображения
Тип файла: jpg Безымянный.jpg (32.0 Кб, 112 просмотров)
Filippokx2015 вне форума Ответить с цитированием
Старый 17.09.2015, 15:49   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Прикинуть сколько строк влезает на лист, посчитать сколько всего строк по факту, сформировать нужное количество страниц, задав HPageBreaks
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 17.09.2015, 16:20   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1. можете определить на какой странице находится строка с МП
2. определить на какой странице находится строка на, допустим, на 12 строк выше

если они на одной странице - все нормально, если на разных вставьте PageBreak в строке описанной в п.2 и станут на одной. это точный метод не требующий предположений...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.09.2015, 18:55   #4
Filippokx2015
 
Регистрация: 17.09.2015
Сообщений: 3
По умолчанию

С точки зрения алгоритма я понимаю как надо сделать=)
для меня барьер VBA
Если бы вас не затруднило хотя куски кода покидать в которых можно было бы покопаться
Спасибо
Filippokx2015 вне форума Ответить с цитированием
Старый 17.09.2015, 19:46   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не знаю чем это Вам поможет, но так можно найти на какой странице находится ячейка:

Код:
Function AtPage(rg As Range) As Long
  Dim i As Long
  i = 1
  Do While rg.Row > HPageBreaks(i).Location.Row
    i = i + 1
  Loop
  AtPage = i
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.09.2015, 21:14   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно почитать что хелп предлагает по выше упомянутому HPageBreaks.
Раз уж алгоритм понятен....
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 22.09.2015, 11:22   #7
Filippokx2015
 
Регистрация: 17.09.2015
Сообщений: 3
По умолчанию

А кто нить сможет псевдо-код на язык VBA хотя бы в общих чертах перевести

Взять последнюю страницу
Если кол-строк ровно 20(значит на последний странице голый футер)
Взять предпоследнюю страницу
Вставить разрыв страницы в позиции ( посл строка - 4 )


Выручайте =)

Последний раз редактировалось Filippokx2015; 22.09.2015 в 11:33.
Filippokx2015 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос даты с листа на лист с учетом допусловий ДАРКИМ Microsoft Office Excel 0 01.11.2014 15:29
Перенос даных с листа на лист Робин Microsoft Office Excel 4 31.10.2012 15:40
Перенос данных на другой лист tgm Microsoft Office Excel 0 06.08.2012 21:43
Перенос с листа на лист по нескольким критериям Gatsufa Microsoft Office Excel 12 01.03.2011 12:08
Автоматический перенос строк из одного листа в другой лист Результат maksvas Microsoft Office Excel 4 22.10.2010 14:03