Как преобразовать столбец текстовых URL в активные гиперссылки в Excel?

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

Ответ 1

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

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

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

Ответ 2

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

В меню "Сервис" в 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! Готово!

Ответ 3

Вот так я нашел. Я работаю на Mac с помощью Excel 2011. Если столбец 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.

Ответ 4

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

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

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

Ответ 5

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

  • Дважды нажмите на поле, где находится URL
  • Enter

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

Ответ 6

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

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

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

Ответ 7

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

  • Выберите ячейки с неактивными URL
  • Копировать
  • Вставить как гиперссылку

Ответ 8

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

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

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

Ответ 9

Я шокирован, что 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>

Ответ 10

Попробуйте следующее:

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

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

Ответ 11

Для меня я просто скопировал весь столбец с URL-адресами в текстовом формате в другое приложение (например, Evernote), и когда они были вставлены там, они стали ссылками, а затем я просто скопировал их обратно в Excel.

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

Ответ 12

Вы можете вставить формулу =HYPERLINK(<your_cell>,<your_cell>) в соседнюю ячейку и перетащить ее до конца. Это даст вам столбец со всеми ссылками. Теперь вы можете выбрать исходный столбец, щелкнув заголовок, щелкнуть правой кнопкой мыши и выбрать Hide.

Ответ 13

Я обнаружил, что ни один из методов здесь не работал, если гиперссылка не включала http://, поскольку они связаны с локальными местоположениями.

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

Он будет работать только на ячейках в выбранном диапазоне, если они содержат точку и пробелы. Он будет работать только до 10 000 ячеек.

Sub HyperAdd()
Dim CellsWithSpaces As String
    'Converts each text hyperlink selected into a working hyperlink
    Application.ScreenUpdating = False
    Dim NotPresent As Integer
    NotPresent = 0

    For Each xCell In Selection
        xCell.Formula = Trim(xCell.Formula)
        If xCell.Formula = "" Or InStr(xCell.Formula, ".") = NotPresent Then
        'Do nothing if the cell is blank or contains no dots
        Else
            If InStr(xCell.Formula, " ") <> 0 Then
                CellsWithSpaces = CellsWithSpaces & ", " & Replace(xCell.Address, "$", "")
                 GoTo Nextxcell
            End If

            If InStr(xCell.Formula, "http") <> 0 Then
                Hyperstring = Trim(xCell.Formula)
            Else
                Hyperstring = "http://" & Trim(xCell.Formula)
            End If

            ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring

        End If
        i = i + 1
        If i = 10000 Then Exit Sub
Nextxcell:
      Next xCell
    If Not CellsWithSpaces = "" Then
        MsgBox ("Please remove spaces from the following cells:" & CellsWithSpaces)
    End If
Application.ScreenUpdating = True
End Sub

Ответ 14

Поместите URL-адреса в таблицу HTML, загрузите HTML-страницу в браузер, скопируйте содержимое этой страницы и вставьте в Excel. На этом этапе URL-адреса сохраняются как активные ссылки.

Решение было предложено на http://answers.microsoft.com/en-us/mac/forum/macoffice2008-macexcel/how-to-copy-and-paste-to-mac-excel-2008-a-list-of/c5fa2890-acf5-461d-adb5-32480855e11e (Джим Гордон Mac MVP) [http://answers.microsoft.com/en-us/profile/75a2b744-a259-49bb-8eb1-7db61dae9e78]

Я обнаружил, что он сработал.

У меня были эти URL-адреса:

https://twitter.com/keeseter/status/578350771235872768/photo/1 https://instagram.com/p/ys5ASPCDEV/ https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpg https://twitter.com/ranadotson/status/539485028712189952/photo/1 https://instagram.com/p/0OgdvyxMhW/ https://instagram.com/p/1nynTiiLSb/

Я помещаю их в файл HTML (links.html) следующим образом:

<table>
<tr><td><a href="https://twitter.com/keeseter/status/578350771235872768/photo/1">https://twitter.com/keeseter/status/578350771235872768/photo/1</a></td></tr>
<tr><td><a href="https://instagram.com/p/ys5ASPCDEV/">https://instagram.com/p/ys5ASPCDEV/</a></td></tr>
<tr><td><a href="https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpg">https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpg</a></td></tr>
<tr><td><a href="https://twitter.com/ranadotson/status/539485028712189952/photo/1">https://twitter.com/ranadotson/status/539485028712189952/photo/1</a></td></tr>
<tr><td><a href="https://instagram.com/p/0OgdvyxMhW/">https://instagram.com/p/0OgdvyxMhW/</a></td></tr>
</table>

Затем я загрузил links.html в свой браузер, скопировал, вставил в Excel и ссылки были активны.

Ответ 15

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

  • Измените http:/ на file:///
  • Удалены все типы условий пробела
  • Изменено состояние диапазона 10 тыс. ячеек до 100 тыс.

Sub HyperAddForLocalLinks()
Dim CellsWithSpaces As String
    'Converts each text hyperlink selected into a working hyperlink
    Application.ScreenUpdating = False
    Dim NotPresent As Integer
    NotPresent = 0

    For Each xCell In Selection
        xCell.Formula = Trim(xCell.Formula)
            If InStr(xCell.Formula, "file:///") <> 0 Then
                Hyperstring = Trim(xCell.Formula)
            Else
                Hyperstring = "file:///" & Trim(xCell.Formula)
            End If

            ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring

        i = i + 1
        If i = 100000 Then Exit Sub
Nextxcell:
      Next xCell
    Application.ScreenUpdating = True
End Sub

Ответ 16

Для любого, кто попадает сюда с помощью Excel 2016, вы можете просто выделить столбец и щелкнуть вкладку " Hyperlink ", расположенную на ленте " Home в поле " Styles.

enter image description here

Изменение: К сожалению, это только обновляет стиль ячейки, а не функцию.

Ответ 17

У меня был список номеров, которые вводятся в URL, я хочу хотлинкинг. Например, у меня есть столбец A с номерами вопросов (т.е. 2595692, 135171), и я хочу превратить эти номера вопросов в горячие ссылки и отображать только номера вопросов.

Поэтому я создал текстовую гиперссылку, указывающую на столбец А, и скопировал ее для всех моих номеров вопросов:

= "= HYPERLINK (" & "" "HTTP" "и" ":" "" & "" & "&" & "" "//stackoverflow.com/questions/"&A1&""""&","&A1& ")"

Затем я копирую - вставляю значение этого столбца текстовых гиперссылок в другой столбец.

Вы получите столбец текста, который выглядит следующим образом:

= HYPERLINK ( "HTTP" и ":" & "//stackoverflow.com/questions/2595692",2595692)

Затем я выбрал эти вставленные элементы и запустил следующий макрос F2Entry:

Sub F2Enter()
Dim cell As Range
Application.Calculation = xlCalculationManual
For Each cell In Selection
    cell.Activate
    cell = Trim(cell)
Next cell
Application.Calculation = xlCalculationAutomatic
EndSub

Затем я удалил столбец ввода текста и столбец А.

Я закончил с одним столбцом номеров вопросов с горячей ссылкой:

2595692

135171

и т.п.

ура

Ответ 18

Если вы скопируете текстовое содержимое в новый столбец и используйте:

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

в исходной колонке. Затем используйте $ для столбца, чтобы он выглядел так:

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

Это единственный способ, которым это работало для меня в Excel 2010 в Windows 7. Вы можете скопировать формулу.

Ответ 19

Самый простой способ здесь

  • Выделите весь столбец
  • нажмите '' insert ''
  • нажмите "Гиперссылка"
  • нажмите '' место в этом документе ''
  • нажмите ok
  • thats all

Ответ 20

Самый простой способ в Excel 2010: Выберите столбец с текстом URL-адреса, затем выберите "Стиль гиперссылки" на вкладке "Главная". Все URL-адреса в столбце теперь являются гиперссылками.

Также дважды щелкните каждую ячейку в конце текста URL-адреса и добавьте пробел или просто введите также гиперссылку. Аналогично тому, как вам нужно создавать URL-ссылки в письмах MS Outlook.

Ответ 21

Существует очень простой способ сделать это. Создайте одну гиперссылку, а затем используйте Format Painter, чтобы скопировать форматирование. Он создаст гиперссылку для каждого элемента.