Нужен код для циклического перемещения по строкам и создания нового листа с гиперссылками на основе строки в данной строке - PullRequest
0 голосов
/ 27 сентября 2019

У меня длинный список имен в моем «основном листе», и мне нужен код, который может циклически проходить по этим строкам, создавать лист с тем же именем и затем добавлять гиперссылку на этот лист.

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

Вот фрагмент кода, который у меня сейчас есть:

'' '' 'ЗДЕСЬ, Я СЧИТАЮ, ЧТО МНОГИЕ ИНДИВИДУАЛЬНЫЕ СТРОКИ НАХОДЯТСЯ В КОЛОННЕ A' ''

Sheets("MainSheet").Range("A1").Select

Range(Selection, Selection.End(xlDown)).Select

Total = Selection.Count 

'' '', я копирую значение ячейки и создаю новый лист, используязначение ячейки в качестве имени '' '

' '' '' Поскольку в некоторых ячейках было более 31 символа, мне пришлось создать код, который будет принимать только первые 30 символов '' ''

For i = Total To 1 Step -1

Sheets("MainSheet").Cells(i, 1).Select

Take = Left(ActiveCell, 30)

Sheets.Add.Name = Take

Worksheets("MainSheet").Activate

Worksheets("MainSheet").Cells(i, 1).Select

Next

Код, которым я поделился выше, работает, однако теперь мне нужно пройтись по тому же списку и создать соответствующую гиперссылку.Вот пример строк ниже:

Temperature Probe and Data Sensor A1
Temperature Probe and Data Sensor A2
Temperature Probe and Data Sensor A3
Temperature Probe and Data Sensor A4
Air and Pressure Sensor A1

Все они будут иметь свой собственный лист, но я хотел бы иметь возможность щелкнуть по значению ячейки, и это приведет меня прямо к этому листу, не имеявручную искать более 200 листов.Короче говоря, основной лист будет действовать как каталог для остальной части книги Excel.

Заранее всем спасибо, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 28 сентября 2019

Чтобы создать ссылку в той же книге, используйте формулу с этим форматом = HYPERLINK («Рабочий лист [Рабочая книга]! A1», «Текст ссылки»).Для получения дополнительной информации см. Работа с гиперссылками в Excel .

Вы можете даже заставить формулу найти имя книги, предполагая, что имя книги и путь к файлу не содержат квадратных скобок.Для получения дополнительной информации см. эту страницу .Формула =HYPERLINK(MID(CELL("filename"), FIND("[",CELL("filename")), (FIND("]",CELL("filename")))-FIND("[",CELL("filename"))+1) &A5 &"!A1", "Link Text").Измените последнюю часть этой формулы, где A5 - это ячейка с именем листа, A1 - цель ссылки, а Link Text - любой текст или ссылка на ячейку.

Если вставить формулу с кодом, а затем использовать две кавычки, чтобы вставить одну кавычку в формулу, ActiveCell.Formula = "=HYPERLINK(MID(CELL(""filename""), FIND(""["",CELL(""filename"")), (FIND(""]"",CELL(""filename"")))-FIND(""["",CELL(""filename""))+1) &A5 &""!A1"", ""Link Text"")".

Или ... Вотпост о том, как добавить оглавление в рабочую книгу .Может быть, вы можете просто сохранить и запустить отдельный макрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...