Разрывы страниц excel макрос

 

Sla_0412

Пользователь

Сообщений: 206
Регистрация: 17.11.2013

В моем примере необходимо вставлять вертикальный разрыв страницы на следующих условиях:
Если в полях проверки стоят «графика» и «номер» то разрыв перемещаем до текста выше. Текстовых строк может быть от 0 и более между графикой. Графика всегда 8 строк.
Предполагается что данных много, выполнять надо в цикле как я понимаю…

Изменено: Sla_041219.03.2020 19:01:14

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#2

29.04.2015 20:06:04

Цитата
как я понимаю…

А я, так понимаю, что нужен горизонтальный разрыв

 

Sla_0412

Пользователь

Сообщений: 206
Регистрация: 17.11.2013

да, мне нужно только по горизонтали

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#4

29.04.2015 20:08:54

И еще, сколько строк умещается на странице?
Используйте

Цитата
ActiveSheet.HPageBreaks.Add ячейка

разрыв над ячейкой

Изменено: Kuzmich05.05.2015 14:55:22

 

Sla_0412

Пользователь

Сообщений: 206
Регистрация: 17.11.2013

Проблема состоит в том что при использовании ActiveSheet.HPageBreaks.Add ячейка, я смог только сдвинуть первый разрыв, который влияет на последующие разрывы ниже по строкам. те никак не соображу как зациклить обработку если информация всегда размещается вразнобой.(листов множество и комбинации текста и графики разные)

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#6

29.04.2015 21:30:53

Попробуйте так

Код
Sub Razdel_31()
Dim i As Long
Dim iLastRow As Long
Dim iPage As Long
    iLastRow = Cells(Rows.Count, 4).End(xlUp).Row
      iPage = 1
  For i = 1 To iLastRow
    Do
      If Cells(i, 5) = "графика" Then
        If i + 7 >= 32 * iPage Then Exit Do
        i = i + 8
      Else
        If i + 1 >= 32 * iPage Then Exit Do
        i = i + 1
      End If
    Loop While i < 32 * iPage
        ActiveSheet.HPageBreaks.Add Cells(i + 1, 1)
      iPage = iPage + 1
  Next
End Sub
 

Sla_0412

Пользователь

Сообщений: 206
Регистрация: 17.11.2013

Я может как то неправильно описал задачу, но во первых, файл выложен как пример и привязываться к его размерам высоты строк а так же к ориентации листа никак нельзя. Предполагается использовать метод для разных целей (отчеты разных документов) , на разных компьютерах, с разными принтерами. Во-вторых , он даже в том виде в котором есть, не отрабатывает  свою задачу.(Это легко проверить скопировав текст примера вниз и продолжив ряд строк.
Я вижу алгоритм так: находим первый разрыв, смещаем его на n количество строк вверх до текста. Далее повторяем задачу до конца. Фишка в том что при смещении первого разрыва, остальные «переходят» тоже вверх.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#8

29.04.2015 23:01:43

Цитата
Sla_0412 написал: Фишка в том что при смещении первого разрыва, остальные «переходят» тоже вверх.

И?
По по очереди проверяем все разрывы, если нужно — двигаем.

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#9

29.04.2015 23:09:21

Попробуйте так

Код
Sub Razdel_31()
Dim i As Long
Dim iLastRow As Long
Dim iPage As Long
Dim iHPBreak As HPageBreak
Dim KolStrok As Long
   For Each iHPBreak In ActiveSheet.HPageBreaks
    iHPBreak.Delete
   Next
  KolStrok = ActiveSheet.HPageBreaks(1).Location.Row - 1
    iLastRow = Cells(Rows.Count, 4).End(xlUp).Row
      iPage = 1
  For i = 1 To iLastRow
    Do
      If Cells(i, 5) = "графика" Then
        If i + 8 >= KolStrok * iPage Then Exit Do
        i = i + 8
      Else
        If i + 1 >= KolStrok * iPage Then Exit Do
        i = i + 1
      End If
    Loop While i <= KolStrok * iPage
        ActiveSheet.HPageBreaks.Add Cells(i, 1)
      iPage = iPage + 1
  Next
End Sub
 

Sla_0412

Пользователь

Сообщений: 206
Регистрация: 17.11.2013

Все работает, но нужно вставить между строкой 6 и 7 On Error Resume Next.
Выражаю огромную благодарность Kuzmich.

 

temash

Пользователь

Сообщений: 13
Регистрация: 21.04.2015

Здравствуйте! У меня вопрос по этой теме. мне надо поставить разрыв перед словом «карточка» (т.е. каждая карточка должна начинаться с новой страницы при печати).
предыдущий макрос у меня почему-то не сработал, наверное там надо что-то поменять, кроме слова графика?
помогите пожалуйста.

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#12

02.06.2015 12:49:00

Попробуйте так Параметры страницы — Поля верхнее 1, нижнее — 1,5 колонтитулы — 0

Код
Sub Razdel_31()
Dim i As Long
Dim iLastRow As Long
Dim iPage As Long
Dim iHPBreak As HPageBreak
Dim KolStrok As Long
    On Error Resume Next
   For Each iHPBreak In ActiveSheet.HPageBreaks
    iHPBreak.Delete
   Next
  KolStrok = ActiveSheet.HPageBreaks(1).Location.Row - 1
    iLastRow = Cells(Rows.Count, 34).End(xlUp).Row
      iPage = 1
  For i = 2 To iLastRow
    Do
      If Cells(i, 21) = "КАРТОЧКА" Then
        If i + 60 >= KolStrok * iPage Then Exit Do
        i = i + 60
      Else
        If i + 1 >= KolStrok * iPage Then Exit Do
        i = i + 1
      End If
    Loop While i <= KolStrok * iPage
        ActiveSheet.HPageBreaks.Add Cells(i, 1)
      iPage = iPage + 1
  Next
End Sub



 

temash

Пользователь

Сообщений: 13
Регистрация: 21.04.2015

Kuzmich, спасибо, работает!!!

 

temash

Пользователь

Сообщений: 13
Регистрация: 21.04.2015

#14

02.06.2015 18:23:24

захотела сама подогнать макрос под другой файл… видно не дано….. посмотрите, что не так?

Код
Sub Razdel_31()
Dim i As Long
Dim iLastRow As Long
Dim iPage As Long
Dim iHPBreak As HPageBreak
Dim KolStrok As Long
    On Error Resume Next
   For Each iHPBreak In ActiveSheet.HPageBreaks
    iHPBreak.Delete
   Next
  KolStrok = ActiveSheet.HPageBreaks(1).Location.Row - 1
    iLastRow = Cells(Rows.Count, 130).End(xlUp).Row
      iPage = 1
  For i = 2 To iLastRow
    Do
      If Cells(i, 1) = "Расчетный листок за Май 2015" Then
        If i + 25 >= KolStrok * iPage Then Exit Do
        i = i + 25
      Else
        If i + 1 >= KolStrok * iPage Then Exit Do
        i = i + 1
      End If
    Loop While i <= KolStrok * iPage
        ActiveSheet.HPageBreaks.Add Cells(i, 1)
      iPage = iPage + 1
  Next
End Sub

Прикрепленные файлы

  • пример2.xlsx (57.03 КБ)

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#15

02.06.2015 19:44:22

Макрос попроще

Код
Sub q()
    Dim r As Range
    Set r = Cells.Find(What:="Расчетный листок", LookAt:=xlPart)
    If Not r Is Nothing Then
        Do
            If r Is Nothing Or r.Row = 1 Then Exit Do
            ActiveSheet.HPageBreaks.Add r
            Set r = Cells.FindNext(r)
        Loop
    End If
End Sub
 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#16

02.06.2015 20:26:06

Цитата
посмотрите, что не так?

В 130 столбце нет данных, ищите последнюю строку по первому столбцу

Код
 iLastRow = Cells(Rows.Count, 130).End(xlUp).Row
 

temash

Пользователь

Сообщений: 13
Регистрация: 21.04.2015

RAN, спасибо большое, работает
Kuzmich, поняла, спасибо

ВЫ ГЕНИИ!!!!!

 

eka0043

Пользователь

Сообщений: 1
Регистрация: 16.05.2019

Ребята, помогите, плиз прописать макрос. У самой ничего не получается. В табличке, которая прикреплена,  нужен разрыв страницы по первой колонке «ветка». И чтобы на одной страничке было только 23 строки.
Буду очень благодарна за помощь

 

adventy

Пользователь

Сообщений: 24
Регистрация: 05.04.2013

#19

19.03.2020 17:48:19

Цитата
RAN написал:
Макрос попроще

Добрый день.
Подскажите, пожалуйста, какие изменения нужно внести в Ваш макрос, чтобы разрывы проставлялись каждые N строк (например, каждые 30 строк)?

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#20

20.03.2020 13:35:29

Цитата
чтобы на одной страничке было только 23 строки.
Код
Sub ВставитьРазрыв()   
Dim i As Long
Dim iLastRow As Long
  iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
  ActiveSheet.ResetAllPageBreaks
    i = 24
 Do While i < iLastRow
    ActiveSheet.HPageBreaks.Add ActiveSheet.Range("A" & i)
    i = i + 23
 Loop
End Sub

Изменено: Kuzmich20.03.2020 14:58:53

 

adventy

Пользователь

Сообщений: 24
Регистрация: 05.04.2013

Спасибо

Kuzmich

, я это тоже искал!

 

Vitalio

Пользователь

Сообщений: 8
Регистрация: 09.04.2019

#22

21.10.2020 13:34:43

Здравствуйте, уважаемые!

Если можете, помогите, пожалуйста, с похожей задачей.

Есть стандартная накладная в которой есть шапка накладной, тело (таблица с товарами), а так же подписи.
При печати документа бывает так, что подпись (или ее часть) отрываются от основной части таблицы.
Параметры печати: вписать все столбцы на одном листе. Все поля по 0,8 см. Колонтитулы по 0 см.

Можно ли проверить находятся начало подписи и конец на одном листе и, если да, то проверить не оторвана ли подпись от основной таблицы? И в зависимости от сложности реализации или уменьшить на 1 выводимые на печать количество страниц или добавить разрыв перед последней строкой табличной части?

Визуально можно посмотреть в прилагаемом файле.

Прикрепленные файлы

  • разрыв страницы.xlsx (93.08 КБ)

Изменено: Vitalio21.10.2020 13:35:13
(Добавил файл)

As part of an overhaul of a report generator I saw what I believed to be inefficient code. This part of the code runs after the main report is generated to set the page breaks in logical positions. The criteria is this:

  • Each Site starts on a new page.
  • Group’s aren’t allowed to broken across pages.

The code follows the above format: 2 loops doing those jobs.

This is the original code (sorry for the length):

Public Sub PageBreak(ByRef wstWorksheet As Excel.Worksheet, ByVal pctProgress As ProgressCtl.ProgressControl)
Dim breaksMoved As Integer
Dim p As HPageBreak
Dim i As Integer

'Used as a control value
breaksMoved = 1

' Marks that no rows/columns are to be repeated on each page
wstWorksheet.Activate
wstWorksheet.PageSetup.PrintTitleRows = ""
wstWorksheet.PageSetup.PrintTitleColumns = ""

'If this isn't performed beforehand, then the HPageBreaks object isn't available
Range("A3").Select
ActiveWindow.View = xlPageBreakPreview

'Defaults the print area to be the entire sheet
wstWorksheet.DisplayPageBreaks = False
wstWorksheet.PageSetup.PrintArea = ""

Range("$B$4").Select

' add breaks after each site
Do While ActiveCell.Row <= wstWorksheet.UsedRange.Rows.Count
    If ActiveCell.FormulaR1C1 = "Site ID" Then
        ActiveCell.PageBreak = xlPageBreakManual
    End If
    ActiveCell.Offset(1, 0).Activate
    pctProgress.ProgressText = "Row " & CStr(ActiveCell.Row) & " of " & CStr(wstWorksheet.UsedRange.Rows.Count)
Loop

Dim passes As Long
Do While breaksMoved = 1
    passes = passes + 1
    breaksMoved = 0
    For i = 1 To wstWorksheet.HPageBreaks.Count - 1
            Set p = wstWorksheet.HPageBreaks.Item(i)
            'Selects the first page break
            Range(p.Location.Address).Select
            'Sets the ActiveCell to 1 row above the page break
            ActiveCell.Offset(-1, 0).Activate

            'Move the intended break point up to the first blank section
            Do While Not ActiveCell.FormulaR1C1 = ""
                ActiveCell.Offset(-1, 0).Activate
                breaksMoved = 1
            Loop

            'Add the page break
            If ActiveCell.FormulaR1C1 <> "Site ID" Then
                ActiveCell.Offset(1, 0).Activate
                wstWorksheet.HPageBreaks.Add ActiveCell
            End If

            pctProgress.ProgressText = "Set break point " & CStr(passes) & "." & CStr(i)

    Next

Loop

'Reset the view to normal
wstWorksheet.DisplayPageBreaks = True
ActiveWindow.View = xlNormalView
Range("A3").Select
End Sub

Seeing room for improvement I set about modifying this. As one of the new requirements the people wanting the report were manually removing pages prior to printing. So I added checkboxes on another page and copied the checked items across. To ease that I used named ranges. I used these named ranges to meet the first requirement:

' add breaks after each site   
For Each RangeName In ActiveWorkbook.Names
    If Mid(RangeName.Name, 1, 1) = "P" Then
        Range(RangeName).Activate
        ActiveCell.Offset(Range(RangeName).Rows.Count - 1, 0).Select
        ActiveCell.PageBreak = xlPageBreakManual
    End If
Next RangeName

All Ranges are prefixed with P_ (for parent). Using the lame Now() style of rough timing this is 1 second slower on my short 4 site report and the more challenging 15 site report. These have 606 and 1600 rows respectively.

1 second isn’t so bad. Lets look at the next criteria.
Each logical group is split by a blank row, so the easiest way is to find the next page break, step back until you find the next blank line and insert the new break. Rinse and repeat.

So why does the original run through multiple times? We can improve that too (the boiler plate outside the loops is the same).

Dim i As Long
Dim oPageBreak As HPageBreak
Do While i < shtDeliveryVariance.HPageBreaks.Count - 1
    i = i + 1
    pctProgress.ProgressText = "Setting Page Break " & CStr(i) & " of " & CStr(shtDeliveryVariance.HPageBreaks.Count)

    Set oPageBreak = shtDeliveryVariance.HPageBreaks.Item(i)

    ' select the page break
    Range(oPageBreak.Location.Address).Select
    ActiveCell.Offset(-1, 0).Activate

    ' move up to a free row
    Do While Not ActiveCell.FormulaR1C1 = ""
        ActiveCell.Offset(-1, 0).Activate
    Loop

    'Add the page break
    If ActiveCell.FormulaR1C1 <> "Site ID" Then
        ActiveCell.Offset(1, 0).Activate
        shtDeliveryVariance.HPageBreaks.Add ActiveCell
    End If

Loop

One pass and more elegant too. But how much quicker is it? On the small test is takes 54 seconds compared to the original 45 seconds, and on the larger test my code is slower again at 153 to 130 seconds. And this is averaged over 3 runs too.

So my questions are: Why is my newer code so much slower than the original despite mine looking faster and what can I do to speed up the slowness of the code?

Note: Screen.Updating, etc. is already off as is Calculation etc.

Предположим, у меня есть диапазон ячеек, и теперь я хочу вставить разрывы страниц в рабочий лист, когда значения в столбце A изменяются, как показано на скриншоте слева. Конечно, вы можете вставлять их по одному, но есть ли какие-нибудь быстрые способы вставить разрывы страниц сразу на основе измененных значений одного столбца?

Вставлять разрывы страниц при изменении значения с помощью кода VBA

Вставляйте разрывы страниц при изменении значения с помощью мощной функции


Вставлять разрывы страниц при изменении значения с помощью кода VBA

Следующий код VBA может помочь вам вставить разрывы страниц ниже в зависимости от изменения данных столбца, пожалуйста, сделайте следующее:

1. Удерживая нажатой ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: вставлять разрывы страниц при изменении значения:

Sub insertpagebreaks()
'updateby Extendoffice
    Dim I As Long, J As Long
    J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
    For I = J To 2 Step -1
        If Range("A" & I).Value <> Range("A" & I - 1).Value Then
            ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
        End If
    Next I
End Sub

3, Затем нажмите F5 ключ для запуска этого кода, все разрывы страниц были вставлены в лист при изменении данных в столбце A. См. снимок экрана:

Примечание:В приведенном выше коде A — это заголовок столбца, на основе которого вы хотите вставить разрыв страницы, вы можете изменить его по своему усмотрению.


Вставляйте разрывы страниц при изменении значения с помощью мощной функции

Если у вас есть Kutools for Excel, С его Различать различия вы можете быстро вставлять разрывы страниц, пустые строки, нижние границы или цвет фона в зависимости от изменения значения. Нажмите, чтобы скачать Kutools for Excel!

Советы:Чтобы применить это Различать различия функция, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Нажмите Кутулс > Формат > Различать различия, см. снимок экрана:

2. В выскочившем Различать различия по ключевому столбцу диалоговом окне выполните следующие операции:

  • Выберите диапазон данных и ключевой столбец, который вы хотите использовать;
  • Выберите Разрыв страницы из Опции пунктом.

3. Затем нажмите Ok кнопки, разрывы страниц были вставлены в диапазон в зависимости от изменения значений, см. снимок экрана:

Скачать и бесплатную пробную версию Kutools for Excel от Yhao сейчас!


Больше относительных статей:

  • Выделение строк при изменении значения ячейки в Excel
  • Если на вашем листе есть список повторяющихся значений, и вам нужно выделить строки на основе столбца A, значение ячейки которого изменяется, как показано на следующем снимке экрана. Фактически, вы можете быстро и легко завершить эту работу, используя функцию условного форматирования.
  • Увеличивайте числа при изменении значения в другом столбце
  • Предположим, у вас есть список значений в столбце A, и теперь вы хотите увеличить число на 1 в столбце B, когда значение в столбце A изменяется, что означает, что числа в столбце B увеличиваются до тех пор, пока значение в столбце A не изменится, затем приращение числа снова начинается с 1, как показано на скриншоте слева. В Excel вы можете решить эту задачу следующим образом.
  • Суммирование ячеек при изменении значения в другом столбце
  • Когда вы работаете с листом Excel, иногда вам может потребоваться суммировать ячейки на основе группы данных в другом столбце. Например, здесь я хочу просуммировать заказы в столбце B при изменении данных в столбце A, чтобы получить следующий результат. Как бы вы могли решить эту проблему в Excel?
  • Вставлять пустые строки при изменении значения в Excel
  • Предположим, у вас есть диапазон данных, и теперь вы хотите вставить пустые строки между данными при изменении значения, чтобы вы могли разделить последовательные одинаковые значения в одном столбце, как показано на следующих снимках экрана. В этой статье я расскажу о некоторых хитростях, которые помогут вам решить эту проблему.
  • Запуск макроса при изменении значения ячейки в Excel
  • Обычно в Excel мы можем нажать клавишу F5 или кнопку «Выполнить», чтобы выполнить код VBA. Но пробовали ли вы когда-нибудь запустить конкретный код макроса при изменении значения ячейки? В этой статье я расскажу о некоторых быстрых приемах, которые помогут справиться с этой задачей в Excel.

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (8)


Оценок пока нет. Оцените первым!

расстановка разрыва страниц по условию

luny

Дата: Понедельник, 10.11.2014, 12:19 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

добрый
есть список абонентов — размер листа несколько меньше формата А6 — нужно согласно этого формата расставить разрывы страниц — при условии что каждый город начинается с отдельного листа — т.е. после последнего разрыва (он же новый город) до следующего разрыва (следующий город) если количество строк больше чем определенное добавить разрыв
начало городов можно проставить вручную можно и автоматом по условию
пример
зы — в примере не указал что в кое где вместо номера может быть пустая ячейка — начало/конец города по этому параметру не найти…

Сообщение отредактировал lunyПонедельник, 10.11.2014, 12:24

 

Ответить

luny

Дата: Понедельник, 10.11.2014, 15:12 |
Сообщение № 2

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

пока идея какая
1) ищем циклом последний разрыв страницы — это будет переменная L
2) ЕСЛИ диапазон строк rw1 от L до L-30 (30 это количество строк в странице) не содержит в 4 ряду маркер начала города (символ *)
то L-30 разрыв страницы
3) если есть символ * то rw1 разрыв страницы

ну я думаю вы поняли что я недалекий и помогите с реализацией

 

Ответить

krosav4ig

Дата: Понедельник, 10.11.2014, 15:53 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

сколько? точно, в граммах
По поводу размера бумаги. Ставьте любой виртуальный принтер, выбираете его по умолчанию, создаете в настройках нужный формат бумаги. После этого в excel можно выбрать созданный формат в качестве размера листа и не нужно будет считать строки.

в файл добавил 2 именованных диапазона
[vba]

Код

Sub QWE()
Dim dic, cell As Range, arr, k&
        Set dic = CreateObject(«scripting.dictionary»)
        For Each cell In [города]
            dic.Add [список].Find(cell).Row, cell.Value
        Next
        arr = dic.keys
        For k = 1 To UBound(arr)
            Me.HPageBreaks.Add before:=Range(«список»)(arr(k))
        Next
        Set dic = Nothing
End Sub

[/vba]

К сообщению приложен файл:

5239570.xls
(34.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4igПонедельник, 10.11.2014, 16:09

 

Ответить

luny

Дата: Понедельник, 10.11.2014, 16:20 |
Сообщение № 4

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

krosav4ig, городов 82 шт…. они иногда без моего ведома меняются — отследить есть ли » * » реально проще — ИМХО

сколько? точно, в граммах

формат высота 13см * ширина 9 см
на печать будет выводится в формате 4 страницы на лист — т.к. предлагаете вы не получается — уже пробовал — принтер -гад- выводит по 1 странице на листе почему то — посему лучше дробить по 30 строк и голова не болеть

 

Ответить

mikaelw

Дата: Понедельник, 10.11.2014, 16:25 |
Сообщение № 5

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 153


Репутация:

1

±

Замечаний:
0% ±


Excel 2010, 2013, 2016

выводит по 1 странице на листе почему то

У меня подобная задача!

И все сработало!

 

Ответить

luny

Дата: Понедельник, 17.11.2014, 18:57 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

помогите корректно задать диапазон
For rw1 = i To (i-30)

[vba]

Код

Sub Test()
With ActiveSheet
If .HPageBreaks.Count > 0 Then
Dim pb As HPageBreak, rngHPB As Range
Set rngHPB = .HPageBreaks(.HPageBreaks.Count).Location
i = rngHPB.Row ‘положение последнего разрыва
For Each pb In .HPageBreaks
Set rngHPB = pb.Location
i = rngHPB.Row — 1 ‘Номер строки перед разрывом страницы
For rw1 = i To (i-30)
If .Cells(rw1, 3) = «=» Then
‘проверка есть ли в диапазоне 30 строк новый город
.HPageBreaks.Add Before:=Cells(rw1-1, 1)
‘добавить розрыв строки перед новым городом
End If
Next pb
End If
End With
End Sub

[/vba]

 

Ответить

luny

Дата: Вторник, 18.11.2014, 09:35 |
Сообщение № 7

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

обнаружил что в макросе ошибка
— расстановку границ надо делать сверху вниз — а не как у меня
— в цикле проверки есть ли в 30 строках сверху новый город непонятно как задать что нового города не было и поставить на 30 строке разрыв страницы — if then наверное не сработают — do while — наверное то же — нужен счетчик сколько раз в диапазоне 30 строк был маркер нового города

 

Ответить

luny

Дата: Вторник, 18.11.2014, 10:22 |
Сообщение № 8

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

почему то не работает — помогите

[vba]

Код

Sub Test1()
With ActiveSheet
If .HPageBreaks.Count > 0 Then
Dim pb As HPageBreak, rngHPB As Range
Set rngHPB = .HPageBreaks(.HPageBreaks.Count).Location
i = rngHPB.Row ‘положение последнего разрыва
For Each pb In .HPageBreaks
Set rngHPB = pb.Location
i = rngHPB.Row — 1 ‘Номер строки перед разрывом страницы
k = 1
Do While k = i
For t = k To i * 30
If Cells(t, 3) = «*» Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(t, 1)
k = k + t
Else: ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(k + 30, 1)
k = k + 30
End If
Next
Exit For

Loop
Next pb
End If
End With
MsgBox «Закончено»
End Sub

[/vba]

Сообщение отредактировал lunyВторник, 18.11.2014, 10:23

 

Ответить

Pelena

Дата: Вторник, 18.11.2014, 11:25 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

luny, Вы уже столько тем однотипных насоздавали, что можно запутаться.
Я правильно понимаю: есть таблица из двух столбцов: в первом число, во втором текст. В третьем столбце напротив названия города стоит *.
Нужно расставить разрывы страниц по * либо, если между звёздочками больше 30 строк, то дополнительно через каждые 30 строк после *. Так?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

luny

Дата: Вторник, 18.11.2014, 12:19 |
Сообщение № 10

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

Pelena, [offtop]пусть это однотипные темы но они решают вопрос (пусть один и тот же) разными способами — вопрос «2+2=» эксель может дать ответ десятком способом — глупо пользоваться только одним — под конкретный способ тема лежит в своей части форума (искренне не понимаю, что не понравилось серж 007, когда он рейтинг мне понизил…) … Да этот макрос возможно будет частью следующего — НО он является самостоятельной частью — может быть кому то полезен …в инете полно тем типа — разрыв страниц после слова ИТОГ или ОТЧЕТ — чем моя хуже…- замените город № словом отчет если не нравиться…

Нужно расставить разрывы страниц по * либо, если между звёздочками больше 30 строк, то дополнительно через каждые 30 строк после *. Так?

правильно

 

Ответить

Pelena

Дата: Вторник, 18.11.2014, 12:34 |
Сообщение № 11

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Такой вариант посмотрите
[vba]

Код

Sub Test1()
      Dim k&, nrow&, t&
      With ActiveSheet
          k = 1
          nrow = .Cells(Rows.Count, 3).End(xlUp).Row
          Do While k <= nrow
              t = WorksheetFunction.Min(.Range(Cells(k, 3), Cells(nrow, 3)).Find(«*»).Row, t + 30)
              .HPageBreaks.Add Before:=Cells(t, 1)
              k = t + 1
          Loop
      End With
      MsgBox «Закончено»
End Sub

[/vba]

К сообщению приложен файл:

5799161.xls
(37.0 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

luny

Дата: Вторник, 18.11.2014, 12:45 |
Сообщение № 12

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003


о жир — спс — прикольный способ решения — подобного пока не встречал..
завтрясь попробую на оригинальном (большом) документе

 

Ответить

Pelena

Дата: Вторник, 18.11.2014, 15:27 |
Сообщение № 13

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

[offtop]
Даже не знаю, обидеться что ли…[/offtop]

Предыдущий макрос некорректно отрабатывал, если в последнем городе больше 30 записей. Исправленный вариант в файле

К сообщению приложен файл:

8816526.xls
(60.5 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

luny

Дата: Вторник, 18.11.2014, 15:46 |
Сообщение № 14

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

Pelena, еще раз спс

зы — поинтересоваться хотел — мой вариант макрос вообще был ли жизнеспособным

Сообщение отредактировал lunyВторник, 18.11.2014, 15:51

 

Ответить

Pelena

Дата: Вторник, 18.11.2014, 15:58 |
Сообщение № 15

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Ну, мне не удалось вдохнуть в него жизнь :(
Хотя я использовала его как отправную точку


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

luny

Дата: Вторник, 18.11.2014, 17:30 |
Сообщение № 16

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

Pelena,

Даже не знаю, обидеться что ли…

[offtop]тут не на что обижаться — просто выражение эмоций — так же если б я сказал о степени вязкости вещества — в смысле — круто!

 

Ответить

Serge_007

Дата: Вторник, 18.11.2014, 17:46 |
Сообщение № 17

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

что не понравилось серж 007, когда он рейтинг мне понизил

luny, я никогда и никому рейтинг не понижаю. Лично Вам я вынес два замечания, и их причины указаны при вынесении


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

luny

Дата: Вторник, 18.11.2014, 18:00 |
Сообщение № 18

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

Serge_007,
[offtop]я неверно выразился про замечания…причину я видел — я не понял как она связана со мной… — в 1 случае не было примера — хотя он был — кривой худой но был — по второму — печать 4 страниц и копирование страниц макросом разве одно и то же — да даже если одно и то же название — мне может было интересно как конкретную задачу можно решить различными способами — в первом случае например при помощи функций или возможностей принтера — во второй только макросом… — еще момент вы похоже мне сообщение оставили — вместо него вылазит сообщение — обратитесь к администрации чтоб прочесть — а обратиться не могу т.к. у администрации стоит запрет на письма от таких как я…
ЫШО — я не ищу справедливости я просто донес информацию

 

Ответить

luny

Дата: Суббота, 22.11.2014, 13:19 |
Сообщение № 19

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 101


Репутация:

0

±

Замечаний:
40% ±


Excel 2003

Pelena, добавил строку чтоб перед началом расстановки новых разрывов сносились старые — без нее макрос к старым разрывам добавляет новые..
[vba]

Код

With ActiveSheet
[b]ActiveSheet.ResetAllPageBreaks[/b]
k = 1

[/vba]

Сообщение отредактировал lunyСуббота, 22.11.2014, 13:19

 

Ответить

Вставка, перемещение и удаление разрывов страниц на листе

​Смотрите также​​luny​ же) разными способами​ — наверное то​ * ширина 9​ и автоматом по​ что таким же​ способе. По итогу​ В этой статье​ ниже действий.​ лист «разрывы» или​ более интересной и​ строку.​пункт​ заголовки столбцов). Если​Параметры​ разрывы, вставленные вручную.​Примечание:​: Pelena,​ — вопрос «2+2=»​ же — нужен​

​ см​ условию​ методом их можно​ вы заметите, что​ будет рассказано, как​Вставляемый элемент​ по-прежнему Следующая страница.​ профессиональной, вставив в​Нажмите кнопку​Параметры​ перетащить разрыв страницы​. В Excel 2007​Щелкните лист, который нужно​ Мы стараемся как можно​тут не на​ эксель может дать​ счетчик сколько раз​на печать будет​

​пример​​ убрать и во​

  • ​ выбранный разрыв был​ убрать разрыв строки​Выполните следующие действия​​ В​​ нее верхние и​​Свернуть диалоговое окно​​, откройте категорию​ не удается, убедитесь​ нажмите​ напечатать.​ оперативнее обеспечивать вас​ что обижаться -​ ответ десятком способом​ в диапазоне 30​ выводится в формате​зы — в​ всех остальных версиях​

  • ​ удален, соответственно, вы​ на странице в​Горизонтальный разрыв страницы​обычном​ нижние колонтитулы. Верхний​, которая находится справа​Дополнительно​ в том, что​Кнопку Microsoft Office​На вкладке​ актуальными справочными материалами​ просто выражение эмоций​​ — глупо пользоваться​​ строк был маркер​

​ 4 страницы на​​ примере не указал​​ программы.​ узнали второй способ,​ Excel 2016 года​Выделите строку ниже той,​режиме они отображаются​

Добавление разрывов страниц автоматически и вручную

Вставка разрыва страницы

  1. ​ колонтитул располагается в​ от поля​

  2. ​, прокрутите страницу до​​ функция перетаскивания включена.​​и выберите пункт​​Вид​​ на вашем языке.​​ — так же​​ только одним -​

    Нажмите кнопку

    ​ нового города​​ лист — т.к.​ Изображение кнопки​ что в кое​

  3. ​Автор: Вадим Матузок​ как убрать разрыв​

    • ​ выпуска. Всего будет​ после которой нужно​ как пунктирные линии​ верхней части страницы,​

    • ​Сквозные строки​ раздела​ Дополнительные сведения см.​Параметры Excel​

  4. ​в группе​​ Эта страница переведена​​ если б я​​ под конкретный способ​​luny​​ предлагаете вы не​​ где вместо номера​

    Нажмите кнопку

  5. ​Примечание:​​ страницы в «Эксель».​​ предложено четыре способа​

​ вставить разрыв страницы.​ горизонтальных и вертикальных;​ а нижний колонтитул​.​Параметры отображения листа​ в разделе Перемещение​.​​Режимы просмотра книги​​ автоматически, поэтому ее​

​ сказал о степени​ тема лежит в​: почему то не​​ получается — уже​​ может быть пустая​​Мы стараемся как​​Если вы не хотите​​ выполнения этой задачи.​Вертикальный разрыв страницы​​Страничный​​ внизу страницы. Колонтитулы​​Курсор превратится в небольшую​​и снимите флажок​​ разрыва существующей страницы.​В категории​Изображение кнопки​нажмите кнопку​ текст может содержать​ вязкости вещества -​ своей части форума​​ работает — помогите​​ пробовал — принтер​

Перемещение разрыва страницы

​ ячейка — начало/конец​​ можно оперативнее обеспечивать​ каждый раз при​В первую очередь разберем​Выделите столбец справа от​режим они отображаются​ содержат такую информацию,​ черную стрелку, а​Показывать разбиение на страницы​

  1. ​Примечание:​Дополнительно​Страничный режим​

    1. ​ неточности и грамматические​​ в смысле -​​ (искренне не понимаю,​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Test1()​​ -гад- выводит по​ города по этому​​ вас актуальными справочными​ Изображение кнопки Office​ необходимости удалить разрыв​​ ситуацию, когда необходимо​​ столбца, где нужно​

    2. ​ как сплошные полужирный​​ как номер страницы,​​ диалоговое окно​​. Дополнительные сведения см.​​ Эта процедура сбрасывает параметры​​в разделе​.​​ ошибки. Для нас​​ круто!​​ что не понравилось​

  2. ​With ActiveSheet​ 1 странице на​

  3. ​ параметру не найти…​​ материалами на вашем​​ переходить по уйме​​ удалить разрывы, созданные​​ вставить разрыв страницы.​​ линии между страницами​​ дата, название книги​

    Нажмите кнопку

    ​Параметры страницы​​ в разделе Показ​ Изображение кнопки​ листа таким образом,​

  4. ​Параметры правки​Можно также щелкнуть значок​ важно, чтобы эта​

    ​Serge_007​​ серж 007, когда​If .HPageBreaks.Count >​ листе почему то​

Удаление разрыва страницы

  1. ​luny​ языке. Эта страница​

  2. ​ всевозможных менюшек, тогда​​ вручную самим пользователем.​​На вкладке «​​ с номером страницы​​ или названия разделов.​​свернется. Выделите строку,​​ и скрытие разрывов​

    Нажмите кнопку

    ​ чтобы на нем​​установите флажок​ Изображение кнопки​Страничный​

  3. ​ статья была вам​:​

    • ​ он рейтинг мне​ 0 Then​ — посему лучше​: пока идея какая​ переведена автоматически, поэтому​

    • ​ можно воспользоваться нетрадиционным​ Допустим, на листу​Разметка страницы​ наложении в центре.​

      ​Перейдите в режим​​ которую необходимо печатать​ страницы в обычном​

  4. ​ отображались только автоматические​​Разрешить маркеры заполнения и​​в строке состояния.​​ полезна. Просим вас​​luny​​ понизил…) … Да​​Dim pb As​

    Нажмите кнопку

  5. ​ дробить по 30​​1) ищем циклом​​ ее текст может​

    Ячейка ниже или справа от разрыва страницы, добавленного вручную

​ способом, подразумевающий удаление​ в программе мы​» нажмите кнопку​ Вы можете настроить​Разметка страницы​ на каждом листе.​ режиме.​ разрывы.​ перетаскивание ячеек​Выполните одно из указанных​ уделить пару секунд​, я никогда и​ этот макрос возможно​ HPageBreak, rngHPB As​

Удаление всех вставленных вручную разрывов страниц

​ строк и голова​​ последний разрыв страницы​ содержать неточности и​ разрыва путем его​ наблюдаем множество разрывов,​разрывы​

  1. ​ которых происходят автоматических​, нажав команду в​

  2. ​ В нашем примере​​На вкладке​​Щелкните лист, который нужно​​и нажмите кнопку​​ ниже действий.​​ и сообщить, помогла​​ никому рейтинг не​

    Нажмите кнопку

    ​ будет частью следующего​​ Range​ Изображение кнопки​ не болеть​

  3. ​ — это будет​​ грамматические ошибки. Для​​ перемещения за границы​​ которые проще убрать​​и выберите команду​​ разрывов страниц и​​ нижней части окна​

    Нажмите кнопку

  4. ​ мы выбрали строку​​Файл​​ изменить.​

​ОК​​Чтобы вставить горизонтальный разрыв​ ли она вам,​ понижаю. Лично Вам​ — НО он​Set rngHPB =​mikaelw​​ переменная L​​ нас важно, чтобы​

Возврат в обычный режим

  • ​ самой таблицы. Давайте​ все и сделать​Вставить разрыв страницы​ вручную добавить собственные​​ Excel. Лист откроется​​ 1.​​выберите команду​​На вкладке​​.​​ страницы, выделите строку,​

    ​ с помощью кнопок​​ я вынес два​ Изображение кнопки​ является самостоятельной частью​

    • ​ .HPageBreaks(.HPageBreaks.Count).Location​: У меня подобная​​2) ЕСЛИ диапазон​​ эта статья была​ рассмотрим этот способ​​ новые. В этом​​.​ разрывы страниц. Вы​ в режиме разметки​Строка 1 появится в​Параметры​Вид​

    • ​Щелкните лист, который нужно​ под которой его​ внизу страницы. Для​ замечания, и их​ — может быть​i = rngHPB.Row​ задача!​​ строк rw1 от​​ вам полезна. Просим​​ более подробнее:​​ случае проще будет​​На вкладке​​ можете удалить установленные​ страницы.​​ поле​​. В Excel 2007​​в группе​​ изменить.​ необходимо вставить.​ удобства также приводим​ причины указаны при​ кому то полезен​

Показ и скрытие разрывов страницы в обычном режиме

  1. ​ ‘положение последнего разрыва​​И все сработало!​​ L до L-30​​ вас уделить пару​​Открыв нужный документ в​ воспользоваться специальной функцией​​Вид​ Изображение кнопки Office​ вручную разрывы страниц,​​Выберите верхний или нижний​​Сквозные строки​

  2. ​ нажмите​​Режимы просмотра книги​​На вкладке​​Чтобы вставить вертикальный разрыв​ ссылку на оригинал​​ вынесении​ …в инете полно​​For Each pb​​luny​ (30 это количество​ секунд и сообщить,​ программе перейдите в​

support.office.com

Вставка разрывов страниц, печать заголовков и колонтитулов в Excel

​ программы, нежели вручную​нажмите кнопку​ но не может​ колонтитул, который необходимо​. Нажмите кнопку​кнопку Microsoft Office​щелкните элемент​Вид​ страницы, выделите столбец,​ (на английском языке).​luny​ тем типа -​

Печать заголовков в Excel

​ In .HPageBreaks​: помогите корректно задать​ строк в странице)​ помогла ли она​ режим просмотра книги.​ один за одним​Страничный режим​ удалить автоматических разрывов​ изменить. В нашем​Свернуть диалоговое окно​, а затем —​Страничный режим​​в группе​​ справа от которого​Разрывы страниц — это​: Serge_007,​ разрыв страниц после​

  1. ​Set rngHPB =​​ диапазон​​ не содержит в​​ вам, с помощью​​Вся таблица будет разделена​Печать заголовков в Excel
  2. ​ удалять каждый в​​.​​ страниц. Тем не​ примере мы изменим​еще раз.​Параметры Excel​.​Режимы просмотра книги​ его необходимо вставить.​
  3. ​ разделители, разбивающие лист​​я неверно выразился​​ слова ИТОГ или​ pb.Location​​For rw1 =​​ 4 ряду маркер​Печать заголовков в Excel
  4. ​ кнопок внизу страницы.​ на страницы синими​ отдельности:​​Наведите указатель на линию​​ менее можно настроить​ нижний колонтитул.​В развернувшемся диалоговом окне​.​Можно также щелкнуть значок​щелкните элемент​Печать заголовков в Excel
  5. ​На вкладке​ на отдельные страницы​​ про замечания…причину я​​ ОТЧЕТ — чем​​i = rngHPB.Row​​ i To (i-30)​Печать заголовков в Excel
  6. ​ начала города (символ​​ Для удобства также​​ линиями, которые как​​Откройте книгу с нужной​​ разрыва страницы, чтобы​ ширину столбцов или​На Ленте появится вкладка​Печать заголовков в Excel

Вставка разрывов страниц в Excel

​Параметры страницы​В категории​Страничный​Страничный режим​Разметка страницы​ для вывода на​ видел — я​ моя хуже…- замените​ — 1 ‘Номер​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Test()​ *)​ приводим ссылку на​ раз таки и​ таблицей в программе.​

  1. ​ он принял форму​ полей или изменение​Конструктор​нажмите​Дополнительно​в строке состояния.​​.​​в группе​Вставка разрывов страниц в Excel
  2. ​ печать. Microsoft Excel​ не понял как​ город № словом​ строки перед разрывом​With ActiveSheet​то L-30 разрыв​ оригинал (на английском​ обозначают разрыв.​Вставка разрывов страниц в Excel
  3. ​Перейдите на вкладку «Разметка».​​, и перетащите​​ масштаба листа в​. На ней Вы​​OK​​в разделе​​На вкладке​​Можно также щелкнуть значок​Вставка разрывов страниц в Excel
  4. ​Параметры страницы​ вставляет автоматические разрывы​Вставка разрывов страниц в Excel

​ она связана со​​ отчет если не​​ страницы​If .HPageBreaks.Count >​ страницы​ языке) .​Наведите курсор не неугодный​

Вставка разрывов страниц в Excel

Вставка колонтитулов в Excel

​Кликните по кнопке «Разрывы»,​ линию в новое​ соответствии с содержимым​ можете получить доступ​. Строка 1 будет​Показать параметры для следующего​Разметка страницы​Страничный​нажмите кнопку​ страниц с учетом​ мной… — в​ нравиться…​k = 1​

  1. ​ 0 Then​​3) если есть​​Листы деление разрывов страниц​ вам разрыв.​ которая располагается в​ место.​ на меньше страниц.​Вставка колонтитулов в Excel
  2. ​ к командам Excel,​ добавлена на каждом​ листа​в группе​в строке состояния.​Вставка колонтитулов в Excel
  3. ​Разрывы​​ размера бумаги, параметров​​ 1 случае не​правильно​Do While k​Dim pb As​ символ * то​ на отдельные страницы​Зажмите левую кнопку мыши.​ группе инструментов «Параметры​Примечание:​Разрывы страниц в​ которые позволят автоматически​Вставка колонтитулов в Excel
  4. ​ печатном листе.​установите или снимите​Вставка колонтитулов в Excel

​Параметры страницы​Чтобы переместить разрыв страницы,​.​ полей и масштабирования,​ было примера -​Pelena​ = i​ HPageBreak, rngHPB As​ rw1 разрыв страницы​ при печати. Страничный​

​Не отпуская ее, перетащите​ страницы».​
​ После перемещения автоматический разрыв​
​Страничном​

​ вставлять элементы колонтитулов,​

office-guru.ru

Создание установленные вручную разрывы страниц на листе с Excel для Mac

​Если Вы хотите распечатать​​ флажок​нажмите кнопку​ перетащите его в​Нажмите кнопку​ а также позиций​ хотя он был​: Такой вариант посмотрите​For t =​ Range​ну я думаю​ режим вы можете​ курсор в самую​В меню, которое появится,​ страницы считается вставленным​режиме:​ такие как номера​ определенные фрагменты рабочей​Показывать разбиение на страницы​Разрывы​ новое положение.​

​Вставить разрыв страницы​ разрывов страниц, вставленных​ — кривой худой​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Test1()​ k To i​Set rngHPB =​​ вы поняли что​​ Вставить, перемещение, изменение​ нижнюю часть таблицы.​ нажмите по пункту​​ вручную. Разрывы страниц,​​Перейдите на вкладку​ страниц, дата или​ книги на отдельных​, чтобы соответственно включить​.​Примечание:​.​ пользователем вручную. Чтобы​ но был -​Dim k&, nrow&,​ * 30​ .HPageBreaks(.HPageBreaks.Count).Location​ я недалекий и​ или удаление разрывов​Как только вы это​ «Сброс разрывов страниц».​ вставленные вручную, не​Вид​ название рабочей книги.​ листах, необходимо вставить​ или отключить отображение​

​Выберите пункт​​ При перемещении автоматического разрыва​​Можно также щелкнуть правой​

Предварительный просмотр 8 страницами разрыва страницы

Просмотр разрывов страниц

​ распечатать лист на​​ по второму -​​ t&​If Cells(t, 3)​​i = rngHPB.Row​​ помогите с реализацией​

​ страниц.​

​ сделаете и линия​​Сразу после этого все​​ изменяются автоматически.​​на ленте и​​ В нашем примере​COMMAND ​ разрывы страниц. В​​ разрывов страниц в​

  1. ​Сброс разрывов страниц​​ страницы он становится​​ кнопкой мыши строку​ определенном количестве страниц,​ печать 4 страниц​With ActiveSheet​ = «*» Then​ ‘положение последнего разрыва​

  2. ​krosav4ig​​Щелкните​​ уйдет за границу​ ненужные разрывы будут​​Выполните одно из указанных​​ выберите пункт​

    ​ мы добавим номера​ Excel существует два​ обычном режиме.​.​

    ​ вставленным вручную.​​ или столбец, снизу​ можно перед выводом​​ и копирование страниц​​k = 1​​ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(t, 1)​​For Each pb​​: сколько? точно, в​​Вид​​ листа, вы избавитесь​​ удалены. Кстати, если​​ ниже действий.​​Страничный режим​

Вставка горизонтального или вертикального разрыва станицы вручную

  1. ​ страниц.​ типа разрывов страниц:​

    ​В данном уроке мы​

    ​Совет:​

    ​Выберите лист, который нужно​

    ​ или справа от​ на печать настроить​ макросом разве одно​

    ​nrow = .Cells(Rows.Count,​

    ​k = k + t​ In .HPageBreaks​ граммах​

  2. ​>​​ от ненужного разрыва.​​ вы думаете, как​​Удаляемый элемент​​.​​Номера будут добавлены в​​ вертикальные и горизонтальные.​

    На вкладке

Перемещение разрыва страницы

  1. ​ разберем три очень​​ Чтобы удалить все вставленные​​ изменить.​​ которых необходимо вставить​​ разрывы страниц на​

  2. ​ и то же​ 3).End(xlUp).Row​Else: ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(k​Маркер горизонтального разрыва страницы​Set rngHPB =​По поводу размера​Страничный режим​

    ​ Кстати, при желании​​ убрать разрыв страницы​Выполните следующие действия​или​ нижний колонтитул.​ Вертикальные разрывы разделяют​

Удаление разрыва страницы, добавленного вручную

  1. ​ полезных инструмента Microsoft​ вручную разрывы страниц,​

    ​На вкладке​

    ​ разрыв, и выбрать​

    ​ листе.​

    ​ — да даже​Do While k​

    ​ + 30, 1)​

    ​ pb.Location​ бумаги. Ставьте любой​

  2. ​.​​ вы его можете​​ в «Эксель 2010»,​​Горизонтальный разрыв страницы​​Выберите​​В Excel используются те​​ по столбцам, а​

    На вкладке

Удаление всех разрывов страниц, добавленных вручную

  • ​ Excel: печать заголовков,​​ можно также щелкнуть​​Вид​​ команду​​Советы:​​ если одно и​​ t = WorksheetFunction.Min(.Range(Cells(k,​

    На вкладке

См. также:

​k = k + 30​i = rngHPB.Row​

support.office.com

Четыре способа, как убрать разрыв страницы в «Экселе»

​ виртуальный принтер, выбираете​В страничном режиме пунктирные​ просто переместить на​ то процедура абсолютно​Выделите строку ниже разрыва​файл​ же инструменты по​ горизонтальные по строкам.​ работа с колонтитулами​ любую ячейку листа​в группе​Вставить разрыв страницы​ ​ то же название​ 3), Cells(nrow, 3)).Find(«*»).Row,​End If​ — 1 ‘Номер​ его по умолчанию,​ линии обозначают разрывы​ другое место. С​ такая же.​ страницы.​>​ работе с колонтитулами,​ В нашем примере​

Убираем все разрывы

​ и вставка разрывов​ правой кнопкой мыши​Режимы просмотра книги​.​Хотя работать с разрывами​ — мне может​ t + 30)​Next​ строки перед разрывом​ создаете в настройках​ страниц, автоматически вставленные​ третьим методом, как​Хорошо, как в «Экселе»​Вертикальный разрыв страницы​Печать​ что и в​

  1. ​ мы вставим горизонтальный​ страниц. Все эти​
  2. ​ и выбрать команду​
  3. ​щелкните элемент​Если вставленный вручную разрыв​ страниц можно и​ было интересно как​
  4. ​.HPageBreaks.Add Before:=Cells(t, 1)​Exit For​ страницы​

как убрать разрыв страницы в экселе

​ нужный формат бумаги.​ приложением Excel. Сплошные​ убрать разрыв страницы​ убрать разрывы страниц​Выделите столбец справа от​(​ Microsoft Word. Изучите​ разрыв страницы.​

Убираем отдельный разрыв

​ инструменты обязательно пригодятся​Сброс разрывов страниц​Страничный режим​ страницы не действует,​ в​ конкретную задачу можно​k = t + 1​Loop​For rw1 =​ После этого в​ линии обозначают разрывы,​ в «Экселе» мы​ сразу все мы​ разрыва страницы.​

  1. ​P​ руководство по работе​Перейдите в страничный режим​
  2. ​ Вам при подготовке​.​.​ возможно, на вкладке​обычном​ решить различными способами​Loop​Next pb​ i To (i-30)​
  3. ​ excel можно выбрать​
  4. ​ вставленные вручную.​ разобрались, теперь перейдем​ разобрались, но что,​
  5. ​На вкладке​).​ с колонтитулами и​

как убрать разрыв страницы в экселе 2010

​ просмотра книги. Для​ документа Excel к​Чтобы вернуться в обычный​Можно также щелкнуть значок​Страница​режиме, рекомендуется использовать​ — в первом​End With​End If​If .Cells(rw1, 3)​ созданный формат в​

Убираем разрыв путем его перемещения

​Совет:​ к последнему –​ если вам мешает​Разметка страницы​В диалоговом окне​ номерами страниц в​ этого найдите и​ печати или экспорту​ режим по завершении​Страничный​в диалоговом окне​страничный режим​

  1. ​ случае например при​MsgBox «Закончено»​End With​
  2. ​ = «=» Then​ качестве размера листа​ Если вам не нужно​ к четвертому.​ всего лишь несколько.​
  3. ​нажмите кнопку​Печать​
  4. ​ Word 2013, чтобы​
  5. ​ выберите в правом​ в формат PDF.​ работы с разрывами​

как убрать разрыв строки на странице в excel

​в строке состояния.​Параметры страницы​: он позволяет увидеть,​ помощи функций или​End Sub​MsgBox «Закончено»​’проверка есть ли​ и не нужно​ изменять разрывы страниц,​Мы обсудили, как убрать​ не удалять же​Разрывы​можно просмотреть краткий​ получить дополнительную информацию.​ нижнем углу книги​

Убираем автоматически созданный разрыв

​Если в Вашей таблице​ страниц, на вкладке​Выполните одно из указанных​выбран параметр масштабирования​ как вносимые изменения​ возможностей принтера -​luny​End Sub​ в диапазоне 30​ будет считать строки.​ вы можете просмотреть,​ вручную созданные разрывы,​

  1. ​ все, а потом​и выберите команду​
  2. ​ обзор как страницы​
  3. ​Урок подготовлен для Вас​ команду​ имеются заголовки, особенно​Режим​
  4. ​ ниже действий.​
  5. ​Разместить не более чем​ (например, ориентации страницы​

как убрать разрыв строки на странице в excel

​ во второй только​: о жир -​Pelena​ строк новый город​в файл добавил​ как будут выглядеть​ но что делать​ заново устанавливать нужные?​Удалить разрыв страницы​ будет печать и​ командой сайта office-guru.ru​Страничный​ когда таблица достаточно​в группе​

​Чтобы удалить вертикальный разрыв​

fb.ru

Просмотр разрывов страниц

​ на​​ и форматирования) влияют​ макросом… — еще​ спс — прикольный​:​.HPageBreaks.Add Before:=Cells(rw1-1, 1)​ 2 именованных диапазона​ распечатанные страницы, в​ с автоматическими? Сейчас​ Этого и не​.​ используйте кнопки влево​Источник: http://www.gcflearnfree.org/office2013/excel2013/11/full​.​ большая, очень важно,​Режимы просмотра книги​ страницы, выделите столбец​(вкладка​ на автоматические разрывы​ момент вы похоже​ способ решения -​luny​

​’добавить розрыв строки​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub QWE()​ окне предварительного просмотра​ об этом и​ придется сделать, ведь​На вкладке​ или вправо, чтобы​

  • ​Автор/переводчик: Антон Андронов​​Далее выделите строку, выше​​ чтобы при печати​​нажмите кнопку​​ справа от разрыва​

​Разметка страницы​ страниц. Например, можно​ мне сообщение оставили​ подобного пока не​, Вы уже столько​ перед новым городом​

Добавление разрывов страниц автоматически и вручную

​Dim dic, cell​​ (​ поговорим. Стоит сразу​ есть специальная кнопка,​Разметка страницы​ просмотреть каждую страницу.​Автор: Антон Андронов​ которой вы хотите​​ эти заголовки выводились​​Обычный​​ страницы, который требуется​​, группа​

support.office.com

расстановка разрыва страниц по условию (Макросы/Sub)

​ увидеть, как на​​ — вместо него​
​ встречал..​ тем однотипных насоздавали,​End If​ As Range, arr,​Файл​ сказать, что полностью​ которая позволяет удалять​нажмите кнопку​Нажмите кнопку​Примечание:​ вставить разрыв. Например,​ на каждой странице.​.​ удалить.​Параметры страницы​ размещение автоматических разрывов​ вылазит сообщение -​
​завтрясь попробую на​ что можно запутаться.​Next pb​ k&​
​>​
​ от них избавиться​ отдельный разрыв:​Разрывы​Отменить​ Мы стараемся как можно​ если вы хотите​ Читать распечатанную книгу​Можно также нажать кнопку​

​Чтобы удалить горизонтальный разрыв​​, кнопка вызова диалогового​
​ страниц влияет изменение​ обратитесь к администрации​ оригинальном (большом) документе​Я правильно понимаю:​
​End If​Set dic =​Печать​ никак не получиться,​Опять же, запустите книгу​и выберите команду​, чтобы закрыть диалоговое​ оперативнее обеспечивать вас​ вставить разрыв между​
​ Excel будет очень​Обычный​
​ страницы, выделите строку​ окна​ высоты строки и​
​ чтоб прочесть -​Pelena​ есть таблица из​End With​

​ CreateObject(«scripting.dictionary»)​​).​ но можно сместить​
​ с нужной вам​Сброс разрывов страниц​ окно​ актуальными справочными материалами​ строками 28 и​ неудобно, если заголовки​в строке состояния.​ под разрывом, который​). Чтобы применить​ ширины столбца.​ а обратиться не​: Даже не знаю,​
​ двух столбцов: в​End Sub​
​For Each cell​
​luny​ так, чтобы это​ таблицей.​
​.​Печать​
​ на вашем языке.​ 29, выделите строку​
​ окажутся только на​
​После работы с разрывами​
​ требуется удалить.​
​ разрывы страниц, вставляемые​Чтобы переопределить автоматические разрывы​
​ могу т.к. у​
​ обидеться что ли...​
​ первом число, во​luny​
​ In [города]​

​: добрый​​ было удобоваримо:​Выделите ячейку рядом с​Изменение масштаба листа для​.​ Эта страница переведена​ 29.​ первой странице. Команда​
​ страниц в​Примечание:​ вручную, измените параметр​
​ страниц, вставляемые приложением​ администрации стоит запрет​Предыдущий макрос некорректно​ втором текст. В​: обнаружил что в​dic.Add [список].Find(cell).Row, cell.Value​есть список абонентов​Запустите программу с открытым​ тем разрывом, который​ печати​После закрытия диалогового окна​ автоматически, поэтому ее​Откройте вкладку​Печатать заголовки​

​страничном режиме​​ Удалить автоматический разрыв страницы​ масштабирования на​
​ Excel, можно вставить​

​ на письма от​​ отрабатывал, если в​ третьем столбце напротив​
​ макросе ошибка​Next​
​ - размер листа​
​ нужным документом.​
​ хотите убрать. В​Зачастую, документы, которые были​
​ Печать на листе,​ текст может содержать​Разметка страницы​
​позволяет выбирать определенные​они могут отображаться​
​ нельзя.​Установить​
​ собственные разрывы страниц​ таких как я...​
​ последнем городе больше​ названия города стоит​
​- расстановку границ​arr = dic.keys​ несколько меньше формата​Перейдите в страничный режим.​
​ случае с горизонтальной​ созданы в табличном​
​ обозначающие разрывы страниц​ неточности и грамматические​
​и из выпадающего​ строки или столбцы​ и в​
​На вкладке​
​.​ вручную, переместить или​
​ЫШО - я​
​ 30 записей. Исправленный​
​ *.​
​ надо делать сверху​
​For k =​

​ А6 — нужно​​Наведите курсор на пунктирную​ линией выделите ячейку​
​ редакторе Excel, подаются​ отображаются пунктирные линии.​ ошибки. Для нас​ меню команды​ и печатать их​
​обычном​Разметка страницы​Важно:​ удалить их. Кроме​ не ищу справедливости​ вариант в файле​Нужно расставить разрывы​ вниз — а​ 1 To UBound(arr)​ согласно этого формата​ линию. Именно ей​ стоящую ниже нее.​ на печать. Но​Примечание:​ важно, чтобы эта​Разрывы​ на каждом листе.​режиме, потому что​

​в группе​​ Чтобы разрешить перетаскивание разрывов​ того, можно быстро​
​ я просто донес​
​luny​
​ страниц по *​ не как у​
​Me.HPageBreaks.Add before:=Range("список")(arr(k))​ расставить разрывы страниц​ и обозначаются разрывы,​
​ А в случае​ не всегда таблица​
​ Чтобы скрыть пунктирные линии,​ статья была вам​
​выберите пункт​Откройте вкладку​
​ были включены автоматически.​Параметры страницы​
​ страниц в другие​ удалить все вставленные​ информацию​: Pelena, еще раз​
​ либо, если между​
​ меня​Next​
​ - при условии​ расставленные автоматически программой.​ с вертикальным разделителем​
​ распечатывается так, как​ щелкните​
​ полезна. Просим вас​
​Вставить разрыв страницы​
​Разметка страницы​ Чтобы скрыть разрывы​
​нажмите кнопку​
​ места на листе,​
​ вручную разрывы страниц.​
​luny​
​ спс​
​ звёздочками больше 30​
​- в цикле​
​Set dic =​
​ что каждый город​
​Зажмите левую кнопку мыши.​

​ – справа.​​ это нужно. Зачастую​​Excel​​ уделить пару секунд​.​и выберите команду​
​ страниц, закройте и​Разрывы​ сначала включите функцию​ Завершив работу с​: Pelena, добавил строку​зы — поинтересоваться​ строк, то дополнительно​ проверки есть ли​
​ Nothing​ начинается с отдельного​Перетащите курсор в нужное​Перейдите на вкладку «Разметка».​ разрывы страниц стоят​>​ и сообщить, помогла​Появится разрыв страницы, отмеченный​

​Печатать заголовки​​ снова откройте книгу,​​.​​ перетаскивания ячеек. Если​ разрывами, можно вернуться​ чтоб перед началом​ хотел — мой​ через каждые 30​ в 30 строках​End Sub​ листа — т.е.​ вам место.​В области инструментов «Параметры​ не в тех​настройки​ ли она вам,​ темно-синей линией.​.​ не сохраняя ее.​Выберите пункт​ эта функция отключена,​ в​ расстановки новых разрывов​ вариант макрос вообще​ строк после *.​ сверху новый город​luny​ после последнего разрыва​После этого разрыв либо​ страницы» кликните по​ местах, где хотелось​>​ с помощью кнопок​При просмотре книги в​В появившемся диалоговом окне​Если сохранить книгу и​
​Удалить разрыв страницы​

​ перетаскивать разрывы страниц​​обычный​
​ сносились старые -​
​ был ли жизнеспособным​ Так?​
​ непонятно как задать​
​: krosav4ig, городов 82​
​ (он же новый​ исчезнет, либо будет​
​ кнопке «Разрывы».​ бы и в​Просмотр​ внизу страницы. Для​
​Обычном режиме​
​Параметры страницы​
​ закрыть, а затем​
​.​
​ будет нельзя.​
​режим просмотра.​

​ без нее макрос​​Pelena​luny​ что нового города​ шт…. они иногда​ город) до следующего​
​ перемещен в другое​В появившемся контекстном меню​

​ итоге получается, что​​и затем в разделе​ удобства также приводим​
​, вставленные разрывы представлены​Вы можете выбрать​ снова открыть ее,​Чтобы удалить разрыв страницы,​Чтобы проверить, включена ли​

​В​​ к старым разрывам​: Ну, мне не​
​:​ не было и​ без моего ведома​ разрыва (следующий город)​

​ место. Теперь вы​​ выберите опцию «Удалить​ в распечатанном виде​Показать в книге​:(
​ ссылку на оригинал​ сплошной серой линией,​ строки или столбцы,​

​ разрывы страниц останутся​​ можно также перетащить​
​ функция перетаскивания, выполните​страничном режиме​ добавляет новые..​ удалось вдохнуть в​Pelena​ поставить на 30​ меняются — отследить​ если количество строк​ знаете все четыре​

​ разрыв страницы».​​ ее намного сложнее​​, снимите флажок​​ (на английском языке).​ в то время​ которые необходимо печатать​ видны. Чтобы отключить​ его за область​ указанные ниже действия.​пунктирные линии обозначают​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​​ него жизнь​
​, пусть это однотипные​ строке разрыв страницы​ есть ли «​ больше чем определенное​ способа, как убрать​Как можно заметить, алгоритм​ воспринимать. Выходом из​разрывы страниц​Во время печати, разрывы​ как автоматические разрывы​ на каждом листе.​ их, выберите на​ страничного режима (влево​Перейдите на вкладку​ разрывы страниц, автоматически​With ActiveSheet​Хотя я использовала​ темы но они​ — if then​ * » реально​ добавить разрыв​ разрыв страницы в​ действий очень похож​ этой ситуации будет​.​ страниц отображаются автоматически​ отмечены пунктирной линией.​ В нашем примере​ вкладке​ за заголовки строк​файл​ вставленные приложением Excel.​[b]ActiveSheet.ResetAllPageBreaks[/b]​ его как отправную​ решают вопрос (пусть​ наверное не сработают​ проще — ИМХО​начало городов можно​ «Экселе» 2016 года,​ на тот, что​
​ удаление ненужных разрывов.​Выполните одно из указанных​ где содержимого на​Вы можете сделать книгу​

​ мы выберем первую​​Файл​ или вверх за​>​ Сплошные линии обозначают​k = 1​ точку​ один и тот​
​ - do while​
​формат высота 13см​
​ проставить вручную можно​
​ но не забывайте,​

excelworld.ru

​ использовался в предыдущем​

Понравилась статья? Поделить с друзьями:
  • Разрывы слов в тексте word
  • Разрывы разделов word 2010
  • Разрывы на листе excel
  • Разрывы на графике excel
  • Разрывы между страницами word