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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.01.2008, 10:41   #1
Leanna
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 24
По умолчанию Как сделать разрыв страницы печати по условию и узнать номер страницы

Форумчане, помогите с задачкой.

Есть сводная таблица со столбцами 1.место/2.товар/3.сумма + столбцы 4.место2/5.номер_страницы
Как программно сделать так что бы при каждом изменении значения столбца печать страницы переходила на новый лист (разрыв печати).
А затем В столбец 5 номер_страницы в каждую строчку проставить номер страницы (число) при печати.
Файл со сводной прилагается.
Вложения
Тип файла: rar Pechat_Stranitzi.rar (10.4 Кб, 34 просмотров)
Leanna вне форума
Старый 20.01.2008, 13:57   #2
Leanna
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 24
По умолчанию

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

Код:
Sub Page_Form()
'
    iEndTable = Range("A1").SpecialCells(xlLastCell).Row
    
    For iRow = 3 To iEndTable
    If Cells(iRow, 4) <> Cells(iRow - 1, 4) Then
        ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(iRow, 5)
    End If
    Next
End Sub


Но, подскажите, как проставить в ячейки 5 столбца номера текущих страниц?


.
Leanna вне форума
Старый 21.01.2008, 06:59   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Следующий макрос выведет в окно сообщений текущую страницу печати для активной ячейки:
Код:
Sub DetectCurrentPage()

    Dim i As Integer   
    For i = 1 To Worksheets(1).HPageBreaks.Count
        If ActiveCell.Row < Worksheets(1).HPageBreaks(i).Location.Row Then Exit For
    Next
    MsgBox i

End Sub
Т.е. определяем, до какого по счету горизонтального разрыва страницы находится контролируемая ячейка.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 21.01.2008 в 10:04.
SAS888 вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача страницы из webbrowser rootann Работа с сетью в Delphi 17 22.08.2009 11:26
Сохранение страницы Патрон PHP 3 28.03.2008 00:00
idHTTP не возвращает код страницы Paradoxer Работа с сетью в Delphi 0 15.03.2008 20:27
Html страницы LineStown Работа с сетью в Delphi 3 11.04.2007 13:16
разметка страницы. Gambler Microsoft Office Word 0 29.10.2006 21:24