У меня есть столбец в excel, где у меня есть все значения URL-адреса веб-сайта. Мой вопрос в том, что я хочу повернуть значения url в активные ссылки. В этой колонке имеется около 200 записей с разными URL-адресами во всех ячейках. Есть ли способ создать активные гиперссылки для всех ячеек без написания макроса.
Как преобразовать столбец текстовых URL в активные гиперссылки в Excel?
Ответ 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 не делал этого автоматически, поэтому вот мое решение, которое, я надеюсь, будет полезно для других,
- Скопировать весь столбец в буфер обмена
- Откройте это на вашем 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>
- Вставьте столбец на страницу, которую вы только что открыли в браузере, и нажмите "Linkify".
- Скопируйте результат с вкладки в столбец в 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
.
Изменение: К сожалению, это только обновляет стиль ячейки, а не функцию.
Ответ 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, чтобы скопировать форматирование. Он создаст гиперссылку для каждого элемента.