В книге находится несколько листов (пусть будет 3). Каждый лист содержит несколько страниц(от 2 до 4). Если задать колонтитул "Страница &P из &N", то нумерация работает корректно при печати каждого листа отдельно. Но если печатать несколько листов одновременно, то вместо &N подставляется общее кол-во страниц на выбранных листах. Как задать нумерацию так, чтобы при печати нескольких листов вместо &N подставлялось кол-во страниц в листе, который сейчас отображается в превью? То есть у первого листа нумерация 1 из 2, 2 из 2 У второго 1 из 3, 2 из 3, 3 из 3 У третьего 1 из 4, 2 из 4, 3 из 4, 4 из 4.
В книге находится несколько листов (пусть будет 3). Каждый лист содержит несколько страниц(от 2 до 4). Если задать колонтитул "Страница &P из &N", то нумерация работает корректно при печати каждого листа отдельно. Но если печатать несколько листов одновременно, то вместо &N подставляется общее кол-во страниц на выбранных листах. Как задать нумерацию так, чтобы при печати нескольких листов вместо &N подставлялось кол-во страниц в листе, который сейчас отображается в превью? То есть у первого листа нумерация 1 из 2, 2 из 2 У второго 1 из 3, 2 из 3, 3 из 3 У третьего 1 из 4, 2 из 4, 3 из 4, 4 из 4.alexmsokolov
Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim Sh As Worksheet For Each Sh In Me.Windows(1).SelectedSheets Sh.PageSetup.CenterFooter = "Страница &P из " & Sh.HPageBreaks.Count + 1 Next End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Sh.PageSetup.CenterFooter = "Страница &P из &N" End Sub
[/vba]
Поместите этот код в модуль ЭтаКнига [vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim Sh As Worksheet For Each Sh In Me.Windows(1).SelectedSheets Sh.PageSetup.CenterFooter = "Страница &P из " & Sh.HPageBreaks.Count + 1 Next End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Sh.PageSetup.CenterFooter = "Страница &P из &N" End Sub