Программное обеспечение

Вопрос к знатокам Excel (вн)?

Задача такая:
В книге есть 100 листов. На листе 1 создаётся сводная таблица. В первом столбце идёт перечень других таблиц, расположеных на других листах. В одну ячейку я записываю название "Таблица 1" и всавляю гиперссылку на Лист2. Если эту ячейку протянуть, то произойдёт изменение названий (Таблица 2; Таблица 3; Таблица 4 и т. д) , а гиперссылка скопируется прежняя.
Как сделать так, что бы при протягивании ячейки изменялись оба параметра?
С помощью макроса, (взято с сайта планета ексель)

Оглавление книги Excel

Выберите в меню Сервис - Макрос - Редактор Visual Basic (Tools - Macro - Visual Basic Editor). В открывшемся окне редактора создайте новый пустой модуль (меню Insert - Module) и скопируйте туда текст этого макроса:
view plaincopy to clipboardprint?
Sub SheetList()
Dim sheet As Worksheet
Dim cell As Range
With ActiveWorkbook
For Each sheet In ActiveWorkbook.Worksheets
Set cell = Worksheets(1).Cells(sheet.Index, 1)
.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'" & sheet.Name & "'" & "!A1"
cell.Formula = sheet.Name
Next
End With
End Sub

Закройте редактор Visual Basic и вернитесь в Excel. Добавьте в книгу чистый лист и поместите его на первое место. Затем откройте меню Сервис - Макрос - Макросы. Найдите там созданный макрос SheetList и запустите его на выполнение. Макрос создаст на первом листе книги список гиперссылок с названиями листов.
Edi Islanov
Edi Islanov
7 947
Лучший ответ
Абай Байназар Отличный макрос! Очень даже просто стало - создаёшь макросом ссылки на все страницы, затем вырезаешь нужный пучёк ссылок и вставляешь в нужную таблицу. Очень полезная штука этот макрос - я тебе скажу - ,особенно когда надо проставить несколько тысяч ссылок в десятках сводных таблиц.
А у тебя случайно нет ссылочки на всякие разные макросы с понятным для чайников описанием?
Арман Калиев Всё гораздо проще
Пишите в ячейке, или формируете формулой адрес, а в другой ставите функцию ГИПЕРССЫЛКА() с указанием ячейки с текстом
Всё
Макрос может быть чуть компактнее
Sub Macros()
For Each Sh In Sheets
ActiveSheet.Hyperlinks.Add Anchor:=Cells(Sh.Index, 1), Address:="", SubAddress:="'" & Sh.Name & "'" & "!A1", TextToDisplay:=Sh.Name
Next
End Sub
Вставить код макроса в Модуль1 проекта VBA.
Запустить макрос.
На активном листе будет создан список листов книги с ссылками.
Арман Калиев Предложение писать аналоги функций оказалось заразно :-)))))
на сей раз аналог ГИПЕРССЫЛКи()
Попробуйте функцию АДРЕС (по английски вроде так же) , а там где имя листа пропишите что-то типа "Лист "&row(A1).
ROW это функция, возвращающая номер строки (по-русски СТРОКА) . Не факт, что проканает, но попробовать стоит. Сам проверить не могу, у меня OpenOffice дома)
наверно, здесь придётся порутинить. вряд ли там есть такая функция. хотя кто его знает