Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разрыв страницы через определенное количество строк - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Разрыв страницы через определенное количество строк
Raza Дата: Четверг, 05.03.2020, 14:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Дня доброго уважаемые!
Столкнулся недавно с такой проблемой, по работе прислали формуляры 400 штук на одном листе Excel, которые необходимо распечатать. Но автоматический разрыв страниц которые проставляет сам excel не подходят по размеру, а в ручную разрывы весь день ставить буду.
Как сделать чтобы разрывы страниц проставлялись макросом через определенное количество строк, допустим каждые 70 строчек? (Или как например в файле-примере каждые 23 строчки)
К сообщению приложен файл: 3941964.xls (113.5 Kb)
 
Ответить
СообщениеДня доброго уважаемые!
Столкнулся недавно с такой проблемой, по работе прислали формуляры 400 штук на одном листе Excel, которые необходимо распечатать. Но автоматический разрыв страниц которые проставляет сам excel не подходят по размеру, а в ручную разрывы весь день ставить буду.
Как сделать чтобы разрывы страниц проставлялись макросом через определенное количество строк, допустим каждые 70 строчек? (Или как например в файле-примере каждые 23 строчки)

Автор - Raza
Дата добавления - 05.03.2020 в 14:35
mgt Дата: Четверг, 05.03.2020, 16:26 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 26 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код

Dim k%, i%, b%, n%
b = 300 'последняя строка
k = 30 'шаг разрыва
n = 1
ActiveSheet.ResetAllPageBreaks
i = k
Do While i < b
    Set ActiveSheet.HPageBreaks(n).Location = ActiveSheet.Range("a" & i)
    i = i + k
    n = n + 1
Loop
[/vba]


Сообщение отредактировал mgt - Четверг, 05.03.2020, 16:26
 
Ответить
Сообщение[vba]
Код

Dim k%, i%, b%, n%
b = 300 'последняя строка
k = 30 'шаг разрыва
n = 1
ActiveSheet.ResetAllPageBreaks
i = k
Do While i < b
    Set ActiveSheet.HPageBreaks(n).Location = ActiveSheet.Range("a" & i)
    i = i + k
    n = n + 1
Loop
[/vba]

Автор - mgt
Дата добавления - 05.03.2020 в 16:26
Raza Дата: Четверг, 05.03.2020, 17:20 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
mgt, О, огромнейшая благодарственность!
Как то о циклах вообще не подумал...
Правда маленько исправил в
  i = i + k
Сделал i = i + k - 1 а то каждый рразрыв на +1 строчку съезжал
 
Ответить
Сообщениеmgt, О, огромнейшая благодарственность!
Как то о циклах вообще не подумал...
Правда маленько исправил в
  i = i + k
Сделал i = i + k - 1 а то каждый рразрыв на +1 строчку съезжал

Автор - Raza
Дата добавления - 05.03.2020 в 17:20
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!