Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/поиск номера страницы на листе эксель - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » поиск номера страницы на листе эксель (Формулы/Formulas)
поиск номера страницы на листе эксель
AB0885 Дата: Воскресенье, 22.05.2022, 15:21 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Здравствуйте. Можно ли найти номер страницы на листе эксель. Проще говоря составить содержание по разделам. Оглавление не подходит т.к. там построено на поиске листов. Пытался через гиперссылку не получилось. Тег
Код
&[Страница]
полько для колонтитула. Для наглядности сделал файл, в нём 5 страниц. На второй странице содержание.
К сообщению приложен файл: 9289299.xlsx (10.3 Kb)
 
Ответить
СообщениеЗдравствуйте. Можно ли найти номер страницы на листе эксель. Проще говоря составить содержание по разделам. Оглавление не подходит т.к. там построено на поиске листов. Пытался через гиперссылку не получилось. Тег
Код
&[Страница]
полько для колонтитула. Для наглядности сделал файл, в нём 5 страниц. На второй странице содержание.

Автор - AB0885
Дата добавления - 22.05.2022 в 15:21
AB0885 Дата: Воскресенье, 22.05.2022, 16:17 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Или это только через VBA?
 
Ответить
СообщениеИли это только через VBA?

Автор - AB0885
Дата добавления - 22.05.2022 в 16:17
Nic70y Дата: Понедельник, 23.05.2022, 08:19 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 8702
Репутация: 2258 ±
Замечаний: 0% ±

Excel 2010
вдруг правильно
Код
=ИНДЕКС(A$101:A$9999;ПОИСКПОЗ("*.*раздел*";ИНДЕКС(A$101:A$9999;ЕСЛИОШИБКА(ПОИСКПОЗ(A52;A$101:A$9999;);)+1):A$9999;)+ЕСЛИОШИБКА(ПОИСКПОЗ(A52;A$101:A$9999;);))
Код
=ГИПЕРССЫЛКА("#Лист1!A"&ПОИСКПОЗ(A53;A$101:A$9999;)+100;ЦЕЛОЕ((ПОИСКПОЗ(A53;A$101:A$9999;)+100)/50)+1)
К сообщению приложен файл: 12.xlsx (10.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениевдруг правильно
Код
=ИНДЕКС(A$101:A$9999;ПОИСКПОЗ("*.*раздел*";ИНДЕКС(A$101:A$9999;ЕСЛИОШИБКА(ПОИСКПОЗ(A52;A$101:A$9999;);)+1):A$9999;)+ЕСЛИОШИБКА(ПОИСКПОЗ(A52;A$101:A$9999;);))
Код
=ГИПЕРССЫЛКА("#Лист1!A"&ПОИСКПОЗ(A53;A$101:A$9999;)+100;ЦЕЛОЕ((ПОИСКПОЗ(A53;A$101:A$9999;)+100)/50)+1)

Автор - Nic70y
Дата добавления - 23.05.2022 в 08:19
AB0885 Дата: Понедельник, 23.05.2022, 12:29 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, отличное решение, если фиксированно по 50 строк на странице. У меня же на каждой странице количество строк разное (извините, не указал сразу) и может варьироваться от 1 до 50.
 
Ответить
СообщениеNic70y, отличное решение, если фиксированно по 50 строк на странице. У меня же на каждой странице количество строк разное (извините, не указал сразу) и может варьироваться от 1 до 50.

Автор - AB0885
Дата добавления - 23.05.2022 в 12:29
Nic70y Дата: Понедельник, 23.05.2022, 13:10 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8702
Репутация: 2258 ±
Замечаний: 0% ±

Excel 2010
1 до 50
разрывов страниц не обнаружил. видимо у на разное понимание
Код
=ГИПЕРССЫЛКА("#Лист1!A"&ПОИСКПОЗ(A53;A$101:A$9999;)+100;СТРОКА(A1))


ЮMoney 41001841029809
 
Ответить
Сообщение
1 до 50
разрывов страниц не обнаружил. видимо у на разное понимание
Код
=ГИПЕРССЫЛКА("#Лист1!A"&ПОИСКПОЗ(A53;A$101:A$9999;)+100;СТРОКА(A1))

Автор - Nic70y
Дата добавления - 23.05.2022 в 13:10
AB0885 Дата: Понедельник, 23.05.2022, 17:07 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, немного поправил, ссылка работает правильно на вот номер страницы оставляет желать лучшего. Немного поправил документ приблизил к "полевым",
Цитата
на каждой странице количество строк разное
, в файле показал это и разрывы добавил. Мешает изменение количества строк.
К сообщению приложен файл: 121.xlsx (10.7 Kb)
 
Ответить
СообщениеNic70y, немного поправил, ссылка работает правильно на вот номер страницы оставляет желать лучшего. Немного поправил документ приблизил к "полевым",
Цитата
на каждой странице количество строк разное
, в файле показал это и разрывы добавил. Мешает изменение количества строк.

Автор - AB0885
Дата добавления - 23.05.2022 в 17:07
AB0885 Дата: Вторник, 24.05.2022, 08:06 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, а с разрывами каждой страницы получится?
 
Ответить
СообщениеNic70y, а с разрывами каждой страницы получится?

Автор - AB0885
Дата добавления - 24.05.2022 в 08:06
Nic70y Дата: Вторник, 24.05.2022, 14:04 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8702
Репутация: 2258 ±
Замечаний: 0% ±

Excel 2010
почти
[vba]
Код
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
                On Error Resume Next
                x = ActiveSheet.HPageBreaks(b).Location.Row
                If x > f Then
                    Exit For
                End If
            End If
        Next
        Worksheets("Лист1").Hyperlinks.Add Anchor:=Range("h" & w.Row), Address:="", _
            SubAddress:="Лист1!A" & f, TextToDisplay:="" & b
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 14.xlsm (21.6 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениепочти
[vba]
Код
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
                On Error Resume Next
                x = ActiveSheet.HPageBreaks(b).Location.Row
                If x > f Then
                    Exit For
                End If
            End If
        Next
        Worksheets("Лист1").Hyperlinks.Add Anchor:=Range("h" & w.Row), Address:="", _
            SubAddress:="Лист1!A" & f, TextToDisplay:="" & b
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 24.05.2022 в 14:04
AB0885 Дата: Суббота, 11.06.2022, 14:39 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, здравствуйте. Прошу прощения за столь длинный перерыв (обстоятельства). Ругается на эту строчку [vba]
Код
For Each a In ActiveSheet.HPageBreaks
[/vba]
ошибка runtime error 9 subscript out of range.

Устранил путём добавления ещё разделов, но стало последний раздел неправильно показывать (предыдущий номер страницы). Так что "устранил", это громко сказано.
К сообщению приложен файл: 0691347.xlsm (21.6 Kb)


Сообщение отредактировал AB0885 - Суббота, 11.06.2022, 15:12
 
Ответить
СообщениеNic70y, здравствуйте. Прошу прощения за столь длинный перерыв (обстоятельства). Ругается на эту строчку [vba]
Код
For Each a In ActiveSheet.HPageBreaks
[/vba]
ошибка runtime error 9 subscript out of range.

Устранил путём добавления ещё разделов, но стало последний раздел неправильно показывать (предыдущий номер страницы). Так что "устранил", это громко сказано.

Автор - AB0885
Дата добавления - 11.06.2022 в 14:39
Nic70y Дата: Среда, 13.07.2022, 09:26 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 8702
Репутация: 2258 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
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
        End If
    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
End Sub
[/vba]
К сообщению приложен файл: 800.xlsm (22.2 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
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
        End If
    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
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 13.07.2022 в 09:26
AB0885 Дата: Воскресенье, 17.07.2022, 08:33 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, в файле примере отлично работает, но как только оформляю в рабочий документ получаю ошибку 1004 и надпись "мы не можем сделать это в объединённой ячейке". Ругается на эту строку [vba]
Код
   Range("h53:i" & u).ClearContents
[/vba].
Если у меня ширина для ссылки страницы от AC до AF у меня должен быть код [vba]
Код
Range("ac53:i" & u).ClearContents
[/vba] ? Прописываю так и у меня ошибка.


Сообщение отредактировал AB0885 - Воскресенье, 17.07.2022, 08:38
 
Ответить
СообщениеNic70y, в файле примере отлично работает, но как только оформляю в рабочий документ получаю ошибку 1004 и надпись "мы не можем сделать это в объединённой ячейке". Ругается на эту строку [vba]
Код
   Range("h53:i" & u).ClearContents
[/vba].
Если у меня ширина для ссылки страницы от AC до AF у меня должен быть код [vba]
Код
Range("ac53:i" & u).ClearContents
[/vba] ? Прописываю так и у меня ошибка.

Автор - AB0885
Дата добавления - 17.07.2022 в 08:33
Nic70y Дата: Понедельник, 18.07.2022, 07:46 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 8702
Репутация: 2258 ±
Замечаний: 0% ±

Excel 2010
AB0885,
AC до AF

Range("ac53:i" & u)


ЮMoney 41001841029809
 
Ответить
СообщениеAB0885,
AC до AF

Range("ac53:i" & u)

Автор - Nic70y
Дата добавления - 18.07.2022 в 07:46
Мир MS Excel » Вопросы и решения » Вопросы по Excel » поиск номера страницы на листе эксель (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!