Как скопировать ссылку на текущий файл Excel
При совместной работе над файлами часто приходится делится ссылками. Скопировать ссылку в буфер обмена можно несколькими способами.
Копирование ссылки в Excel 2010 и новее
Начиная с версии Excel 2010 появилась возможность копировать ссылку на текущий файл в буфер обмена.
В зависимости от версии есть некоторые отличия, но в целом все аналогично: необходимо перейти на вкладку Файл и в меню сведения скопировать ссылку.
В целом удобно, но в версии 2016 получается довольно непривычный вид ссылки file:///C:UserszheltDesktopПример%20файла.xlsх

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

- Перейти на вкладку VBA-Excel, которая появится после установки
- В группе Работа с файлами выберите Текущий файл — Скопировать ссылку на файл
Вид ссылки в этом случае будет: C:Users/zhelt/Desktop/Пример файла.xlsx
Код макроса на VBA
Скопировать ссылку в буфер обмена можно с помощью макроса ниже.
Sub CopyFullName() Dim clipboard As New DataObject clipboard.SetText ActiveWorkbook.FullName clipboard.PutInClipboard End Sub

Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
Функция ГИПЕРССЫЛКА() в EXCEL
Функция ГИПЕРССЫЛКА() , английский вариант HYPERLINK(), создает ярлык или гиперссылку, которая позволяет открыть страницу в сети интернет, файл на диске (документ MS EXCEL, MS WORD или программу, например, Notepad.exe) или перейти к указанному листу (диапазону ячеек) в текущей книге .
Функция ГИПЕРССЫЛКА () имеет следующий синтаксис.
Синтаксис функции
ГИПЕРССЫЛКА(адрес, [имя])
Адрес — адрес страницы в сети интернет или путь к файлу на диске. Адрес может указывать на определенное место в Книге, например на ячейку или именованный диапазон. Путь может представлять собой путь к файлу на жестком диске, либо URL-адрес в Интернете или интрасети. Аргумент Адрес записывается в виде текстовой строки, заключенной в кавычки, или представляет собой ссылку на ячейку, содержащую гиперссылку или путь в виде текстовой строки (без кавычек).
Имя — необязательный аргумент, необходимый для отображения текста гиперссылки (т.е. просто текстовая строка для отображения в гиперссылке). Текст ссылки отображается синим цветом с подчеркиванием. Если этот аргумент опущен, в ячейке в качестве текста ссылки отображается аргумент Адрес . Также как и Адрес, аргумент Имя может быть представлен текстовой строкой, именем или ссылкой на ячейку, содержащей текст. Если аргумент Имя возвращает значение ошибки (например, #ЗНАЧ!), вместо текста ссылки в ячейке отображается значение ошибки.

Примечание : Чтобы выделить ячейку с гиперссылкой без перехода по этой гиперссылке, щелкните эту ячейку и удерживайте нажатой кнопку мыши, пока указатель не примет крестообразную форму , а затем отпустите кнопку мыши — ячейка будет выделена без перехода по гиперссылке.
Переход на страницу Интернет
Для перехода на страницу интернет, например excel2.ru необходимо ввести в ячейку следующую формулу и нажать клавишу ENTER .
=ГИПЕРССЫЛКА(» http://www.excel2.ru «;»Перейти на сайт excel2.ru»)
Если опустить второй аргумент, то в ячейке вместо слов Перейти на сайт excel2.ru будет просто отображен адрес http://www.excel2.ru
Перейти на конкретную страницу можно с помощью вот такой формулы
=ГИПЕРССЫЛКА(» http://excel2.ru/articles/imena «;»Перейти к статье Имена на сайте excel2.ru»)
Если Вы знаете адрес документа на внешнем сайте, то можно указать в гиперссылке адрес этого файла, чтобы его скачать и открыть:
= ГИПЕРССЫЛКА(» http://example.microsoft.com/report/budget report.xlsx»; «Щелкните, чтобы просмотреть отчет»)
Открываем файл на диске
С помощью функции ГИПЕРССЫЛКА () можно открыть файл, сохраненный на диске компьютера или сервера. Откроем стандартный файл Windows для редактирования текста Notepad.exe
Если на компьютере имеется диск D: на котором в папке Finance имеется файл БазаДанных.xlsx , то открыть его поможет формула
= ГИПЕРССЫЛКА(«[D:\Finance\БазаДанных.xlsx]лист1!A5″;»Открыть Книгу MS EXCEL и перейти на Листе1 в ячейку А5»)
После этого, в окне файла БазаДанных.xlsx , станет активной ячейка A5 .
Примечание : После ввода формулы с функцией ГИПЕРССЫЛКА() , указывающей на место в другом листе или книге, сохраните книгу перед тестированием гиперссылки, чтобы избежать сообщения об ошибке.
Переходим на другой лист в текущей книге
Предположим, что требуется сделать ссылку с Листа1 на Лист2 в книге БазаДанных.xlsx .
Поместим формулу с функцией ГИПЕРССЫЛКА() в ячейке А18 на Листе1 (см. файл примера ).
=ГИПЕРССЫЛКА(«[БазаДанных.xlsx]Лист2!A1″;»Нажмите ссылку, чтобы перейти на Лист2 этой книги, в ячейку А1»)
Указывать имя файла при ссылке даже внутри одной книги — обязательно. При переименовании книги или листа ссылка перестанет работать. Но, с помощью функции ЯЧЕЙКА() можно узнать имя текущей книги и листа (см. здесь и здесь ).
Плохой новостью является то, что если у Вас открыто 2 или более файлов EXCEL (в одном экземпляре программы, см. примечание ниже), то функция ЯЧЕЙКА() может вернуть имя другого открытого файла (если Вы его изменяли). Так что будьте осторожнее с функцией ЯЧЕЙКА() . Поэтому иногда удобнее ссылки внутри книги создавать с помощью стандартного механизма гиперссылок, нажав CTRL+K или через меню Вставка/ Связи/ Гиперссылка (после вызова окна Вставка гиперссылки выберите Связать с: местом в документе ).
Примечание : Открыть несколько книг EXCEL можно в одном окне MS EXCEL (в одном экземпляре MS EXCEL) или в нескольких. Обычно книги открываются в одном экземпляре MS EXCEL (когда Вы просто открываете их подряд из Проводника Windows или через Кнопку Офис в окне MS EXCEL). Второй экземпляр MS EXCEL можно открыть запустив файл EXCEL.EXE, например через меню Пуск. Чтобы убедиться, что файлы открыты в одном экземпляре MS EXCEL нажимайте последовательно сочетание клавиш CTRL+TAB — будут отображаться все окна Книг, которые открыты в данном окне MS EXCEL. Для книг, открытых в разных окнах MS EXCEL (экземплярах MS EXCEL) это сочетание клавиш не работает. Удобно открывать в разных экземплярах Книги, вычисления в которых занимают продолжительное время. При изменении формул MS EXCEL пересчитывает только книги открытые в текущем экземпляре.
Составляем оглавление книги
В статье Оглавление книги на основе гиперссылок описан подход к созданию оглавлению.
Выводим диапазоны имен
Если в книге определены именованные диапазоны , то гиперссылки можно использовать для быстрой навигации по ним. При этом после нажатии гиперссылки, будет выделен соответствующий диапазон.
Пусть в книге создано 3 именованных диапазона: квартал1, квартал2, квартал3 .


В ячейках А42:А44 выведем перечень имен (нажав клавишу F3 и далее нажав Все имена , см. статью Имена ). В ячейке С42 запишем формулу =ГИПЕРССЫЛКА(«[_Функция_ГИПЕРССЫЛКА.xlsx]»&A42;A42) и скопируем ее вниз (убедитесь, что Ваша книга, имя которой указано в формуле называется правильно).
Теперь, после нажатия гиперссылки, будет выделен соответствующий диапазон (на рисунке ниже отображено окно после нажатия ссылки Квартал1 ).

Добавляем кнопки навигации в панель быстрого доступа
Если в книге много гиперссылок, то по аналогии с Веб Браузерами можно использовать кнопки Назад и Далее в панели Быстрого доступа .
Чтобы добавить кнопки на панель Быстрого доступа выберите пункт Другие команды.

Затем, отобразите все команды и добавьте кнопки Назад и Далее.

Теперь после перехода по гиперссылке можно быстро вернуться обратно, нажав кнопку Назад . (или как вариант сделать дополнительную гиперссылку, как показано в файле примера см. Лист2 )
Создать ссылку на определенное место в документе excel
Имеется excel-файл с большим количеством листов, на каждом из которых есть таблица (датафрейм). На одном из них располагается информация о связи названия таблицы и листа (оглавление).
То есть на листе под названием «1» находится таблица с данными про собак и тд. Можно ли как-то средствами python создать такой инструмент, с помощью которого нажав на название листа я автоматически перейду на этот лист (насколько я знаю в самом excel это можно сделать, но хотелось бы автоматизировать этот процесс)
Отслеживать
задан 6 фев 2023 в 14:12
Елена Сергеева Елена Сергеева
505 3 3 серебряных знака 10 10 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
- Создал документ
- Создал второй лист
- На первом листе добавил в ячейку гиперссылку на второй лист и ячейку K20
import openpyxl wb = openpyxl.Workbook() sheet1 = wb.active sheet2 = wb.create_sheet(title='Лист 2') cell = sheet1.cell(row=1, column=1) cell.hyperlink = f"#''!K20" cell.value = "Go" wb.save('excel.xlsx')
Для уже существующего файла:
import openpyxl filename = 'excel.xlsx' wb = openpyxl.load_workbook(filename=filename) sheet1 = wb['Sheet'] sheet2 = wb['Лист 2'] cell = sheet1.cell(row=5, column=1) cell.hyperlink = f"#''!B20" cell.value = "Go2" wb.save(filename)
UPD. Еще можно создавать ссылки через класс Hyperlink :
from openpyxl.worksheet.hyperlink import Hyperlink . cell = sheet1.cell(row=2, column=1) cell.hyperlink = Hyperlink( location=f"''!K20", ref='', ) cell.value = "Go 2" cell.style = "Hyperlink"
Excel works!

Гиперссылка обеспечивает переход по адресу к нужному месту из документа Excel на сайт или на файл. Как сделать такую гиперссылку в Excel можно прочитать в этой статье:

Гиперссылка (hyperlink) — фактически, второй слой текста, в котором заключена ссылка на другой объект (файл, сайт, программу и т.п.), и при нажатии на нее вы переходите в нужное место.

Вид гиперссылки в Excel
Как добавить гиперссылку?
Итак, для добавления гиперссылки перейдите на нужную ячейку и на главной панели найдите раздел «Вставка». В разделе находится сектор «Связи», на котором есть функция «Гиперссылка».
Нажав на эту кнопку, у нас появится окно «Вставка гиперссылки». В данном окне вам будут предложены варианты создания гиперссылок. У вас есть возможность создать ссылку, в том же документе, на другом листе, нажав в пункте «Связать с..» функцию «Место в документе». Или просто вставьте имеющийся адрес в раздел Адрес.

Наша гиперссылка, а точнее ее наименование, автоматически выделилось в синий цвет, и при ее нажатии левой кнопкой мыши вы перейдете в указанное вами место в документе или в интернете. Таким же образом можно создать обратную гиперссылку, т.е. на исходное положение в документе.
Кроме гиперссылки на том же документе мы можем создать ссылку на другой документ. Чтобы это сделать нужно в окне «Вставка гиперссылки» в пункте «Связать с..» выбрать функцию «Файлом, веб — страницей». Потом в пункте «Папка» выбираем необходимую папку, а в ней и документ, на который вы хотите ссылаться.
Как получить адрес ссылки из ячейки с гиперссылкой
Этому посвящена отдельная статья .
Создание оглавления c гиперссылками в Excel
Одно из решений оглавления в Excel — это окно контрольного значения. Подробно об этой малоизвестной, но полезной возможности можно прочитать здесь.
Так же можно воспользоваться макросом :
SubSpisokListov()DimsheetAsWorksheetDimcellAsRangeWithActiveWorkbookForEachsheetInActiveWorkbook.WorksheetsSetcell = Worksheets(1).Cells(sheet.Index, 1).Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'"& sheet.Name &"'"&"!A1"cell.Formula = sheet.NameNextEndWithEndSub
Чтобы не изобретать велосипед макрос взят c прекрасного сайта .
Похожие статьи
- 06.08.2015Автозаполнение ячеек в ExcelPosted in Работа с текстом, Работа с ячейками
- 13.08.2015Как найти и удалить повторы и дубликаты в ExcelPosted in Работа с текстом, Работа с ячейками, Поиск
- 25.10.2015Автофильтр в Excel. Расширенный фильтрPosted in Excel, Работа с текстом, Работа с ячейками
- 28.01.2018Абзац в Excel. Как начать с новой строки в ячейкеPosted in Работа с текстом, Формулы, Работа с ячейками
- 31.01.2020Правила в условном форматировании. Написание формулPosted in Оформление, Работа с ячейками
- 06.02.2016Функция ЯЧЕЙКА в ExcelPosted in Формулы, Работа с ячейками
- 10.03.2015Задать имя диапазона Excel? Горячие клавишиPosted in Excel, Работа с ячейками
- 18.03.2015Как разделить текст в Excel по столбцам?Posted in Excel, Работа с текстом