Здравствуйте. Можно ли найти номер страницы на листе эксель. Проще говоря составить содержание по разделам. Оглавление не подходит т.к. там построено на поиске листов. Пытался через гиперссылку не получилось. Тег
&[Страница]
полько для колонтитула. Для наглядности сделал файл, в нём 5 страниц. На второй странице содержание.
Здравствуйте. Можно ли найти номер страницы на листе эксель. Проще говоря составить содержание по разделам. Оглавление не подходит т.к. там построено на поиске листов. Пытался через гиперссылку не получилось. Тег
&[Страница]
полько для колонтитула. Для наглядности сделал файл, в нём 5 страниц. На второй странице содержание.AB0885
Nic70y, отличное решение, если фиксированно по 50 строк на странице. У меня же на каждой странице количество строк разное (извините, не указал сразу) и может варьироваться от 1 до 50.
Nic70y, отличное решение, если фиксированно по 50 строк на странице. У меня же на каждой странице количество строк разное (извините, не указал сразу) и может варьироваться от 1 до 50.AB0885
Sub u_700()
Application.ScreenUpdating = False
u = Range("a93").End(xlUp).Row For Each w In Range("a53:a" & u)
f = Application.Match(w, Range("a94:a9999"), 0) + 94
b = 0 For Each a In ActiveSheet.HPageBreaks If a.Extent = xlPageBreakFull Then
b = b + 1 OnErrorResumeNext
x = ActiveSheet.HPageBreaks(b).Location.Row If x > f Then ExitFor EndIf EndIf Next
Worksheets("Лист1").Hyperlinks.Add Anchor:=Range("h" & w.Row), Address:="", _
SubAddress:="Лист1!A" & f, TextToDisplay:="" & b Next
Application.ScreenUpdating = True EndSub
почти
Sub u_700()
Application.ScreenUpdating = False
u = Range("a93").End(xlUp).Row For Each w In Range("a53:a" & u)
f = Application.Match(w, Range("a94:a9999"), 0) + 94
b = 0 For Each a In ActiveSheet.HPageBreaks If a.Extent = xlPageBreakFull Then
b = b + 1 OnErrorResumeNext
x = ActiveSheet.HPageBreaks(b).Location.Row If x > f Then ExitFor EndIf EndIf Next
Worksheets("Лист1").Hyperlinks.Add Anchor:=Range("h" & w.Row), Address:="", _
SubAddress:="Лист1!A" & f, TextToDisplay:="" & b Next
Application.ScreenUpdating = True EndSub
Nic70y, здравствуйте. Прошу прощения за столь длинный перерыв (обстоятельства). Ругается на эту строчку
For Each a In ActiveSheet.HPageBreaks
ошибка runtime error 9 subscript out of range.
Устранил путём добавления ещё разделов, но стало последний раздел неправильно показывать (предыдущий номер страницы). Так что "устранил", это громко сказано.
Nic70y, здравствуйте. Прошу прощения за столь длинный перерыв (обстоятельства). Ругается на эту строчку
For Each a In ActiveSheet.HPageBreaks
ошибка runtime error 9 subscript out of range.
Устранил путём добавления ещё разделов, но стало последний раздел неправильно показывать (предыдущий номер страницы). Так что "устранил", это громко сказано.AB0885
Sub u_700()
Application.ScreenUpdating = False
u = Range("a93").End(xlUp).Row
Range("h53:i" & u).ClearContents
y = 1 For Each a In ActiveSheet.HPageBreaks If a.Extent = xlPageBreakFull Then
b = b + 1
x = ActiveSheet.HPageBreaks(b).Location.Row
y = y & "," & x EndIf Next For Each w In Range("a53:a" & u)
f = Application.Match(w, Range("a94:a9999"), 0) + 93
g = Evaluate("MATCH(" & f & ",{" & y & "},1)")
Worksheets("Лист1").Hyperlinks.Add Anchor:=Range("h" & w.Row), Address:="", _
SubAddress:="Лист1!A" & f, TextToDisplay:="" & g Next
Application.ScreenUpdating = True EndSub
Sub u_700()
Application.ScreenUpdating = False
u = Range("a93").End(xlUp).Row
Range("h53:i" & u).ClearContents
y = 1 For Each a In ActiveSheet.HPageBreaks If a.Extent = xlPageBreakFull Then
b = b + 1
x = ActiveSheet.HPageBreaks(b).Location.Row
y = y & "," & x EndIf Next For Each w In Range("a53:a" & u)
f = Application.Match(w, Range("a94:a9999"), 0) + 93
g = Evaluate("MATCH(" & f & ",{" & y & "},1)")
Worksheets("Лист1").Hyperlinks.Add Anchor:=Range("h" & w.Row), Address:="", _
SubAddress:="Лист1!A" & f, TextToDisplay:="" & g Next
Application.ScreenUpdating = True EndSub
Nic70y, в файле примере отлично работает, но как только оформляю в рабочий документ получаю ошибку 1004 и надпись "мы не можем сделать это в объединённой ячейке". Ругается на эту строку
Range("h53:i" & u).ClearContents
. Если у меня ширина для ссылки страницы от AC до AF у меня должен быть код
Range("ac53:i" & u).ClearContents
? Прописываю так и у меня ошибка.
Nic70y, в файле примере отлично работает, но как только оформляю в рабочий документ получаю ошибку 1004 и надпись "мы не можем сделать это в объединённой ячейке". Ругается на эту строку
Range("h53:i" & u).ClearContents
. Если у меня ширина для ссылки страницы от AC до AF у меня должен быть код