Страницы: 1
RSS
Обновление № страницы в ячейке, которая находится в сквозных строках., Обновление № страницы в ячейке, которая находится в сквозных строках.
 
Добрый день, уважаемые дамы и господа.

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

Нашёл код:

Код
Function page(x As Range) As Long
Dim nHorBr As Long, nVerBr As Long, iHor As Long, iVer As Long
Application.Volatile                'пересчитывать при пересчете листа (в т.ч. по F9)
With x.Parent                       'лист
    nHorBr = .HPageBreaks.Count     'число гориз. разрывов, число страниц по вертикали nHorBr+1
    nVerBr = .VPageBreaks.Count     'число верт. разрывов, число страниц по горизонтали nVerBr+1
    
    '************************ ! Внимание ! **********************************************
    'В Excel-2000 обнаружен глюк: если число вертикальных разрывов >3,
    'то свойство .VPageBreaks.Count возвращает число на 1 больше, чем должно быть.
    'Проверьте, требуется ли на вашей системе коррекция числа вертикальных разрывов.
    'Для отключения коррекции закомментируйте следующую строку.
    If nVerBr > 3 Then nVerBr = nVerBr - 1
 
    For iHor = 1 To nHorBr
        If x.Row < x.Parent.HPageBreaks(iHor).Location.Row Then Exit For
    Next
    For iVer = 1 To nVerBr
        If x.Column < x.Parent.VPageBreaks(iVer).Location.Column Then Exit For
    Next
    If .PageSetup.Order = xlOverThenDown Then
        page = (iHor - 1) * (nVerBr + 1) + iVer
    Else
        page = (iVer - 1) * (nHorBr + 1) + iHor
    End If
End With
End Function

Но,
в качестве аргумента функции, указывется адрес ячейки, которая остаётся
на первой странице, таким образом функция показывает только № первой
страницы.

Как можно сделать динамически обновляемый номер страницы в ячейке, которая находится в сквозных строках?
Изменено: Андрей Белый - 06.07.2020 11:23:18
Страницы: 1
Наверх