Подскажите, пожалуйста, в сквозных строках необходимо сделать в ячейке обновляющейся номер страницы.
Нашёл код:
Код
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
Но, в качестве аргумента функции, указывется адрес ячейки, которая остаётся на первой странице, таким образом функция показывает только № первой страницы.
Как можно сделать динамически обновляемый номер страницы в ячейке, которая находится в сквозных строках?