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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос строк таблицы при печати на другой лист целиком - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Перенос строк таблицы при печати на другой лист целиком
DrMini Дата: Среда, 17.04.2019, 10:51 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Доброго времени суток Форумчане.
Помогите пожалуйста доработать макрос (это продолжение темы).
Надо чтобы при печати строки с объединёнными ячейками не "рвались", а при невозможности печати строки целиком, печаталась бы на следующем листе. Вроде объяснил не очень. Прилагаю скрины.
Это как получается:
К сообщению приложен файл: 0671787.jpg (31.1 Kb) · 3616245.jpg (28.9 Kb)
 
Ответить
СообщениеДоброго времени суток Форумчане.
Помогите пожалуйста доработать макрос (это продолжение темы).
Надо чтобы при печати строки с объединёнными ячейками не "рвались", а при невозможности печати строки целиком, печаталась бы на следующем листе. Вроде объяснил не очень. Прилагаю скрины.
Это как получается:

Автор - DrMini
Дата добавления - 17.04.2019 в 10:51
DrMini Дата: Среда, 17.04.2019, 10:52 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
А надо, что бы было вот так:
К сообщению приложен файл: 3710090.jpg (29.8 Kb) · 2454553.jpg (33.1 Kb)
 
Ответить
СообщениеА надо, что бы было вот так:

Автор - DrMini
Дата добавления - 17.04.2019 в 10:52
Pelena Дата: Среда, 17.04.2019, 12:21 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19346
Репутация: 4525 ±
Замечаний: ±

Excel 365 & Mac Excel
DrMini, опишите задачу и приложите пример в файле, чтобы не приходилось перечитывать предыдущую тему на трёх листах


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеDrMini, опишите задачу и приложите пример в файле, чтобы не приходилось перечитывать предыдущую тему на трёх листах

Автор - Pelena
Дата добавления - 17.04.2019 в 12:21
bmv98rus Дата: Среда, 17.04.2019, 12:46 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Я так понимаю что нужен аналог вордовскому "Allow row break across pages", только нет такого встроенного.
Ну гипотетически пробежаться по PageBreaks и если строка рвет объединенную ячейку (а это означает что надо проверить все строку на принадлежность такой), то поставить разрыв на начало этого объединения.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеЯ так понимаю что нужен аналог вордовскому "Allow row break across pages", только нет такого встроенного.
Ну гипотетически пробежаться по PageBreaks и если строка рвет объединенную ячейку (а это означает что надо проверить все строку на принадлежность такой), то поставить разрыв на начало этого объединения.

Автор - bmv98rus
Дата добавления - 17.04.2019 в 12:46
DrMini Дата: Среда, 17.04.2019, 13:24 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
опишите задачу и приложите пример в файле, чтобы не приходилось перечитывать предыдущую тему на трёх листах

Прошу прощения. Тропился на обед.
Предыдущий материал можно и не читать. Задачу описал выше. Может коряво но я даже не знаю, как это охарактеризовать. bmv98rus наверное более правильно описал, чем я.
Вот заполненный файл:
К сообщению приложен файл: NEW_Full.xlsm (34.7 Kb)


Сообщение отредактировал DrMini - Среда, 17.04.2019, 13:37
 
Ответить
Сообщение
опишите задачу и приложите пример в файле, чтобы не приходилось перечитывать предыдущую тему на трёх листах

Прошу прощения. Тропился на обед.
Предыдущий материал можно и не читать. Задачу описал выше. Может коряво но я даже не знаю, как это охарактеризовать. bmv98rus наверное более правильно описал, чем я.
Вот заполненный файл:

Автор - DrMini
Дата добавления - 17.04.2019 в 13:24
RAN Дата: Среда, 17.04.2019, 13:33 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Ну гипотетически

Почему гипотетически? Именно так и надо делать.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Ну гипотетически

Почему гипотетически? Именно так и надо делать.

Автор - RAN
Дата добавления - 17.04.2019 в 13:33
bmv98rus Дата: Среда, 17.04.2019, 13:51 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Почему гипотетически?

Андрей, применительно к конкретному примеру - да, а вот если объединения со смещением , то нужно искать ячейку объединенную с минимальным индексом строки.

Предыдущий материал можно и не читать. Задачу описал выше.
то есть нужно читать последующий который выше???? :D Что у Вакс было на обед. Это курится или хавается? :D


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Почему гипотетически?

Андрей, применительно к конкретному примеру - да, а вот если объединения со смещением , то нужно искать ячейку объединенную с минимальным индексом строки.

Предыдущий материал можно и не читать. Задачу описал выше.
то есть нужно читать последующий который выше???? :D Что у Вакс было на обед. Это курится или хавается? :D

Автор - bmv98rus
Дата добавления - 17.04.2019 в 13:51
DrMini Дата: Среда, 17.04.2019, 13:58 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Что у Вакс было на обед. Это курится или хавается?

До обеда. Да было (Сервак 1С базу не хотел опубликовывать в web.). Обед ништяк. Пришёл в норму.
P.S. ну может быть кто-то поможет? А?
 
Ответить
Сообщение
Что у Вакс было на обед. Это курится или хавается?

До обеда. Да было (Сервак 1С базу не хотел опубликовывать в web.). Обед ништяк. Пришёл в норму.
P.S. ну может быть кто-то поможет? А?

Автор - DrMini
Дата добавления - 17.04.2019 в 13:58
sboy Дата: Среда, 17.04.2019, 14:22 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Примерно так
[vba]
Код
Sub page_breaks()
Dim ilr As Integer, pbrow As Integer
    With ActiveSheet
        ilr = .Cells(.Rows.Count, 5).End(xlUp).Row
        pbrow = 50
            Do While ilr > pbrow
                pbrow = .Cells(pbrow, 1).MergeArea.Cells(1).Row
                .HPageBreaks.Add Before:=.Cells(pbrow, 6)
                pbrow = pbrow + 50
            Loop
    End With
End Sub
[/vba]
upd. изменил, файл перевложил
К сообщению приложен файл: 1055180.xlsm (32.8 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboy - Среда, 17.04.2019, 14:33
 
Ответить
СообщениеДобрый день.
Примерно так
[vba]
Код
Sub page_breaks()
Dim ilr As Integer, pbrow As Integer
    With ActiveSheet
        ilr = .Cells(.Rows.Count, 5).End(xlUp).Row
        pbrow = 50
            Do While ilr > pbrow
                pbrow = .Cells(pbrow, 1).MergeArea.Cells(1).Row
                .HPageBreaks.Add Before:=.Cells(pbrow, 6)
                pbrow = pbrow + 50
            Loop
    End With
End Sub
[/vba]
upd. изменил, файл перевложил

Автор - sboy
Дата добавления - 17.04.2019 в 14:22
DrMini Дата: Среда, 17.04.2019, 14:54 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
sboy, Работает не совсем корректно. Наверное Вы не заметили, что есть строки из 5-ти и 4-ёх объединённых строк. Моё упущение. Не объяснил. Прошу прощения. В дальнейшем могут быть строки из 2-ух объединённых строк в одну.
 
Ответить
Сообщениеsboy, Работает не совсем корректно. Наверное Вы не заметили, что есть строки из 5-ти и 4-ёх объединённых строк. Моё упущение. Не объяснил. Прошу прощения. В дальнейшем могут быть строки из 2-ух объединённых строк в одну.

Автор - DrMini
Дата добавления - 17.04.2019 в 14:54
sboy Дата: Среда, 17.04.2019, 14:58 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Приложите пример, где некорректно отрабатывает


Яндекс: 410016850021169
 
Ответить
СообщениеПриложите пример, где некорректно отрабатывает

Автор - sboy
Дата добавления - 17.04.2019 в 14:58
DrMini Дата: Среда, 17.04.2019, 15:29 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
sboy, Вот.
К сообщению приложен файл: 6218347.xlsm (34.8 Kb)
 
Ответить
Сообщениеsboy, Вот.

Автор - DrMini
Дата добавления - 17.04.2019 в 15:29
sboy Дата: Среда, 17.04.2019, 15:43 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
У меня нормально отработал на новом примере.
Добавил на всякий случай сброс разрывов в начало кода.
К сообщению приложен файл: 3896494.xlsm (32.5 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеУ меня нормально отработал на новом примере.
Добавил на всякий случай сброс разрывов в начало кода.

Автор - sboy
Дата добавления - 17.04.2019 в 15:43
RAN Дата: Среда, 17.04.2019, 16:02 | Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub myPageSetup()
    Dim i&, x&
    '10 On Error Resume Next
    Application.ScreenUpdating = False
    ActiveWindow.View = xlPageBreakPreview
    With ActiveSheet
        .ResetAllPageBreaks
        i = 1
        Do While i <= .HPageBreaks.Count
            x = .HPageBreaks(i).Location.Row
            If .Cells(x, 1).MergeCells Then
                Set .HPageBreaks(i).Location = .Cells(x, 1).MergeArea(1)
            End If
            i = i + 1
            DoEvents
        Loop
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub myPageSetup()
    Dim i&, x&
    '10 On Error Resume Next
    Application.ScreenUpdating = False
    ActiveWindow.View = xlPageBreakPreview
    With ActiveSheet
        .ResetAllPageBreaks
        i = 1
        Do While i <= .HPageBreaks.Count
            x = .HPageBreaks(i).Location.Row
            If .Cells(x, 1).MergeCells Then
                Set .HPageBreaks(i).Location = .Cells(x, 1).MergeArea(1)
            End If
            i = i + 1
            DoEvents
        Loop
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - RAN
Дата добавления - 17.04.2019 в 16:02
DrMini Дата: Среда, 17.04.2019, 16:09 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
RAN, Тоже не работает.
К сообщению приложен файл: 3734146.xlsm (33.5 Kb)
 
Ответить
СообщениеRAN, Тоже не работает.

Автор - DrMini
Дата добавления - 17.04.2019 в 16:09
DrMini Дата: Среда, 17.04.2019, 16:30 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Вот приложил пример файлов в которых передают показания и файл СводNEW.xlsm для их обработки.
К сообщению приложен файл: Primer.zip (82.1 Kb)
 
Ответить
СообщениеВот приложил пример файлов в которых передают показания и файл СводNEW.xlsm для их обработки.

Автор - DrMini
Дата добавления - 17.04.2019 в 16:30
sboy Дата: Среда, 17.04.2019, 16:55 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Пришла такая мысль. Видимо Вы макрос ни мой ни RAN не запускали :)


Яндекс: 410016850021169
 
Ответить
СообщениеПришла такая мысль. Видимо Вы макрос ни мой ни RAN не запускали :)

Автор - sboy
Дата добавления - 17.04.2019 в 16:55
DrMini Дата: Среда, 17.04.2019, 16:58 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
sboy, Я и Ваш макрос пробовал. Сейчас ещё раз вставлю и проверю.
 
Ответить
Сообщениеsboy, Я и Ваш макрос пробовал. Сейчас ещё раз вставлю и проверю.

Автор - DrMini
Дата добавления - 17.04.2019 в 16:58
DrMini Дата: Среда, 17.04.2019, 17:02 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1818
Репутация: 257 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
sboy, Вот с Вашим макросом.
Может я не туда его копирую?
К сообщению приложен файл: NEWSboy.xlsm (37.8 Kb)
 
Ответить
Сообщениеsboy, Вот с Вашим макросом.
Может я не туда его копирую?

Автор - DrMini
Дата добавления - 17.04.2019 в 17:02
bmv98rus Дата: Среда, 17.04.2019, 19:34 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
RAN, Андрей, ну что за нелюбовь к For Each?
[vba]
Код
Sub myPageSetup()
    Dim x&, PB As Object
    '10 On Error Resume Next
    Application.ScreenUpdating = False
    ActiveWindow.View = xlPageBreakPreview
    With ActiveSheet
        .ResetAllPageBreaks
        For Each PB In .HPageBreaks
            x = PB.Location.Row
            If .Cells(x, 1).MergeCells Then
                Set PB.Location = .Cells(x, 1).MergeArea(1)
            End If
            DoEvents
        Next
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

, чуть не забыл, все работает.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Среда, 17.04.2019, 19:36
 
Ответить
СообщениеRAN, Андрей, ну что за нелюбовь к For Each?
[vba]
Код
Sub myPageSetup()
    Dim x&, PB As Object
    '10 On Error Resume Next
    Application.ScreenUpdating = False
    ActiveWindow.View = xlPageBreakPreview
    With ActiveSheet
        .ResetAllPageBreaks
        For Each PB In .HPageBreaks
            x = PB.Location.Row
            If .Cells(x, 1).MergeCells Then
                Set PB.Location = .Cells(x, 1).MergeArea(1)
            End If
            DoEvents
        Next
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

, чуть не забыл, все работает.

Автор - bmv98rus
Дата добавления - 17.04.2019 в 19:34
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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