Как преобразовать столбец текстовых URL-адресов в активные гиперссылки в Excel? - PullRequest
244 голосов
/ 08 апреля 2010

У меня есть столбец в Excel, в котором у меня есть все значения URL сайта.У меня вопрос, я хочу превратить значения URL в активные ссылки.В этом столбце около 200 записей с разными URL во всех ячейках.Есть ли способ, которым я могу создавать активные гиперссылки на все ячейки без написания макроса.

Ответы [ 21 ]

295 голосов
/ 08 апреля 2010

Если вы не хотите создавать макрос и если вы не против дополнительного столбца, просто создайте новый столбец рядом с вашим столбцом URL-адресов.

В новом столбце введите формулу =HYPERLINK(A1) (заменив A1 на интересующую вас ячейку). Затем скопируйте формулу из оставшихся 200 записей.

ПРИМЕЧАНИЕ: Это решение не работает, если ячейка A1 содержит строку длиной более 255 символов. Это приводит к #VALUE! ошибке

84 голосов
/ 02 ноября 2012

Создайте макрос как здесь:

В меню «Инструменты» в Microsoft Excel выберите «Макрос» и нажмите «Редактор Visual Basic». В меню «Вставка» выберите «Модуль». Скопируйте и вставьте этот код в окно кода модуля. Он автоматически назовет себя HyperAdd.

Sub HyperAdd()

    'Converts each text hyperlink selected into a working hyperlink

    For Each xCell In Selection
        ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
    Next xCell

End Sub

Когда вы закончите вставку макроса, нажмите «Закрыть» и вернитесь в Microsoft Excel в меню «Файл».

Затем выберите нужные ячейки, щелкните макрос и нажмите «Выполнить».

ПРИМЕЧАНИЕ НЕ выделяйте весь столбец! Выберите ТОЛЬКО те ячейки, которые вы хотите изменить на кликабельные ссылки, иначе вы попадете в бесконечный цикл и вам придется перезапустить Excel! Готово!

23 голосов
/ 01 августа 2012

Вот способ, который я нашел.Я использую Excel 2011 на Mac. Если в столбце B содержатся текстовые значения, которые вы хотите использовать в качестве гиперссылок, поместите эту формулу в ячейку C1 (или D1 или что-то еще, если это свободный столбец): =HYPERLINK(B1,B1) Это вставитгиперссылка с указанием местоположения в качестве текста ссылки и «понятного имени» в качестве текста ссылки.Если у вас есть другой столбец с понятным именем для каждой ссылки, вы также можете использовать его.Затем вы можете скрыть текстовый столбец, если не хотите его видеть.

Если у вас есть список идентификаторов чего-либо и все URL-адреса были http://website.com/folder/ID, например:

A1  | B1
101 | http://website.com/folder/101
102 | http://website.com/folder/102
103 | http://website.com/folder/103
104 | http://website.com/folder/104

вы можете использовать что-то вроде =HYPERLINK("http://website.com/folder/"&A1,A1) и вам не понадобится список URL.Это было моей ситуацией и работало хорошо.

Согласно этому сообщению: http://excelhints.com/2007/06/12/hyperlink-formula-in-excel/ этот метод будет работать и в Excel 2007.

18 голосов
/ 08 апреля 2010

Хорошо, вот простейшее решение, но я просто не могу понять, как заставить Excel оценивать столбец URL как гиперссылки в целом.

  1. Создать формулу, ="=hyperlink(""" & A1 & """)"
  2. Перетащите вниз
  3. Копировать новый столбец формулы
  4. Вставить только специальные значения поверх исходного столбца
  5. Выделите столбец, нажмите Ctrl - H (чтобы заменить), найдя и заменив = на = (каким-то образом вызывает переоценку ячеек).
  6. Клетки теперь должны быть кликабельными как гиперссылки. Если вы хотите синий / подчеркнутый стиль, просто выделите все ячейки и выберите стиль гиперссылки.

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

16 голосов
/ 18 января 2014

Довольно простой способ для довольно коротких списков:

  1. Дважды щелкните на поле, где URL-адрес
  2. Введите

У вас есть ваша ссылка;)

6 голосов
/ 26 марта 2013

Этот метод работает для меня, используя функцию гиперссылки:

=HYPERLINK("http://"&B10,B10)

Где B10 - это ячейка, содержащая текстовую версию URL (в этом примере).

5 голосов
/ 08 мая 2017

Если добавить дополнительный столбец с гиперссылками , это не вариант, альтернатива - использовать внешний редактор, чтобы заключить вашу гиперссылку в =hyperlink(" и "), чтобы получить =hyperlink("originalCellContent")

Если у вас Notepad ++, этот рецепт можно использовать для полуавтоматического выполнения этой операции:

  • Скопировать столбец адресов в Блокнот ++
  • Удерживая ALT - SHIFT , нажмите, передвиньте курсор из верхнего левого угла в нижний правый угол и введите =hyperlink(". Это добавляет =hyperlink(" в начале каждой записи.
  • Откройте меню «Заменить» ( Ctrl - H ), активируйте регулярные выражения ( ALT - G ) и замените $ (конец строки) с "\). Это добавляет закрытые кавычки и закрытые скобки (которые должны быть экранированы с \, когда активированы регулярные выражения) в конце каждой строки.
  • Вставить обратно данные в Excel. На практике просто скопируйте данные и выберите первую ячейку столбца, в который вы хотите поместить данные.
4 голосов
/ 26 мая 2013

В Excel 2007 для Windows я нашел эти шаги самыми простыми;

  1. Выбор ячеек с неактивными URL-адресами
  2. Copy
  3. Вставить как гиперссылку
4 голосов
/ 18 сентября 2018

Я в шоке, Excel не делал этого автоматически, поэтому вот мое решение, которое, я надеюсь, будет полезно для других,

  1. Скопировать весь столбец в буфер обмена
  2. Откройте это на Chrome или Firefox

data:text/html,<button onclick="document.write(document.body.querySelector('textarea').value.split('\n').map(x => '<a href=\'' + x + '\'>' + x + '</a>').join('<br>'))">Linkify</button><br><textarea></textarea>

  1. Вставьте столбец на страницу, которую вы только что открыли в браузере, и нажмите «Linkify»
  2. Скопируйте результат с вкладки в столбец в Excel

Вместо второго шага вы можете использовать приведенную ниже страницу, сначала нажмите «Выполнить фрагмент кода», а затем вставьте в него столбец.

<button onclick="document.write(document.body.querySelector('textarea').value.split('\n').map(x => '<a href=\'' + x + '\'>' + x + '</a>').join('<br>'))">Linkify</button><br><textarea></textarea>
2 голосов
/ 09 сентября 2014

Попробуйте это:

= HYPERLINK ("mailto:" & A1, A1)

Замените А1 своим текстом ячейки адреса электронной почты.

...