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

Есть один очень простой способ достичь желаемого результата: просто переместите книгу в ту же папку с файлами, на которые вы хотите сделать гиперссылки. При использовании диалогового окна «Вставить гиперссылку» для ссылки используется имя файла без пути.

Если это невозможно, тогда использование диалогового окна «Вставить гиперссылку» приведет к тому, что полный путь окажется как в поле «Адрес», так и в поле «Текст для отображения» диалогового окна «Вставка гиперссылки». Невозможно изменить это поведение по умолчанию; вы можете редактировать только значения по умолчанию, предлагаемые Excel. Это означает, что вы можете на основе отдельной гиперссылки отредактировать поле Text to Display в диалоговом окне Insert Hyperlink так, чтобы оно отображало только имя файла по своему усмотрению.

Конечно, это требует большого объема редактирования — отсюда и толчок для запроса Джорджа. Есть несколько способов обойти это. Первый — не полагаться на диалоговое окно «Вставить гиперссылку». Вместо этого создайте формулу, которая вставляет гиперссылку, используя функцию ГИПЕРССЫЛКА. Скажем, например, что у вас есть в ячейке C2 путь к папке, содержащей ваши файлы:

C:\Users\allen\Desktop\

Кроме того, у вас может быть список имен файлов в диапазоне D2: D75, например:

MyWorkbook.xlsx MyDocument.docx MyPDF.pdf

Вы можете поместить такую ​​формулу в ячейку E2:

=HYPERLINK($C$2 & D2,D2)

Скопируйте формулу в диапазон E3: E75, и у вас будут гиперссылки по своему желанию.

Если у вас уже есть несколько вставленных ссылок в электронной таблице (например, в столбце A), вы можете использовать более крупную формулу для извлечения и отображения только имени файла:

=HYPERLINK(A1,SUBSTITUTE(A1,LEFT(A1,FIND(CHAR(1),SUBSTITUTE(A1, "\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))),""))

Затем вы можете скрыть столбец, содержащий гиперссылки с полным путем, чтобы видеть только те сокращенные версии, которые вам нужны.

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

Sub FixHyperlinkDesc()

Dim h As Hyperlink     Dim sRaw As String     Dim iPos As Integer

For Each h In ActiveSheet.Hyperlinks         sRaw = h.TextToDisplay         iPos = Instr(1, sRaw, "\")

While (iPos > 0)

sRaw = Mid(sRaw, iPos + 1, Len(sRaw))

iPos  = Instr(1, sRaw, "\")

Wend         If sRaw <> h.TextToDisplay Then             h.TextToDisplay = sRaw         End If     Next h End Sub

Единственное, чего касается макрос, — это отображаемый текст для каждой гиперссылки, и он удаляет все, что было до последней обратной косой черты. Макрос не повлияет ни на что, что может появиться в результате функции ГИПЕРССЫЛКИ.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13279) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.