如何将一列文本URL转换为Excel中的活动超链接?

dev*_*per 260 excel-2007 hyperlink

我在excel中有一个列,其中包含所有网站URL值.我的问题是我想将网址值转换为活动链接.该列中大约有200个条目,所有单元格中都有不同的URL.有没有办法我可以创建活动超链接到所有单元格而无需编写宏.

haw*_*bsl 306

如果您不想制作宏,并且只要不介意其他列,则只需在您的网址列旁边创建一个新列.

在公式中的新列类型中=HYPERLINK(A1)(将A1替换为您感兴趣的任何单元格).然后将公式复制到200个条目的其余部分.

注意:如果单元格A1包含长度超过255个字符的字符串,则此解决方案不起作用.它会导致#VALUE!错误

  • 如果URL超过255个字符,则不起作用. (14认同)
  • 为了使它成为一列只需将超链接列和"粘贴值"复制到您想要保留的列中. (3认同)
  • 如果我的列A包含200个链接值,是否可以编写一个公式来超链接200个值并在A列中重写它,而不是创建一个新列? (2认同)
  • 谢谢!这对30,000个细胞很有效. (2认同)

小智 87

在此处创建宏:

在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
Run Code Online (Sandbox Code Playgroud)

完成粘贴宏后,单击"文件"菜单上的"关闭并返回到Microsoft Excel".

然后选择所需的单元格并单击宏并单击运行.

注意不要选择整列!只选择您希望更改为可点击链接的单元格,否则您将最终进入无限循环并且必须重新启动Excel!完成!

  • 如果您使用显式选项,请将 Dim xCell 添加为范围。+1 用于更改单元格(按要求)并提供执行此操作的代码的解决方案。 (2认同)
  • 要将电子邮件地址变成超链接,请将 `Address:=xCell.Formula` 更改为 `Address:="mailto:" & xCell.Formula` (2认同)

Mar*_*rty 23

这是我发现的一种方式.我在使用Excel 2011的Mac上.如果列B具有您希望成为超链接的文本值,请将此公式放在单元格C1(或D1或其他任何东西,只要它是一个空闲列):=HYPERLINK(B1,B1) 这将插入一个超链接作为链接文本的位置和作为链接文本的"友好名称".如果您有另一列具有每个链接的友好名称,您也可以使用它.然后,如果您不想看到它,可以隐藏文本列.

如果您有一些ID的列表,并且所有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
Run Code Online (Sandbox Code Playgroud)

你可以使用类似的东西=HYPERLINK("http://website.com/folder/"&A1,A1),你不需要网址列表.这是我的情况,并且运作良好.

根据这篇文章:http://excelhints.com/2007/06/12/hyperlink-formula-in-excel/此方法也适用于Excel 2007.


小智 19

好的,这是一个很好的解决方案,但我无法弄清楚如何让Excel将一列URL作为批量超链接进行评估.

  1. 创建一个公式, ="=hyperlink(""" & A1 & """)"
  2. 拖累
  3. 复制新公式列
  4. 仅在原始列上粘贴特殊值
  5. 突出显示栏,点击Ctrl- H(更换),查找和替换==(在某种程度上迫使细胞的重新评估).
  6. 现在,单元格应该可以作为超链接进行单击.如果您想要蓝色/下划线样式,则只需突出显示所有单元格并选择超链接样式.

单独的超链接样式不会转换为可单击的链接,并且"插入超链接"对话框似乎无法将文本用作批量的一堆单元格的地址.除此之外,F2Enter通过所有细胞会做到这一点,但这是很多细胞的繁琐.

  • 只做=(HYPERLINK(间接(地址(行((行),列()+ 1)),"着装"和行()))它更容易 (3认同)

小智 17

相当简短的列表非常简单:

  1. 双击网址所在的框
  2. 输入

你有你的链接;)

  • 我使用F2编辑一个单元格,然后反复输入以快速运行我的列表.简单.谢谢! (13认同)
  • 我有 287,000 行。哭。 (9认同)
  • @thejohnbackes 对于较新版本的 Excel,将一行隐藏为超链接并使用格式刷将 URL 格式提供给其他行就足够了。 (5认同)
  • 再加上关于 F2 的评论,我在大约一分钟内就看到了包含 160 个超链接的列。所以是的,如果列足够短,这就是要走的路。 (4认同)
  • 我认为这对于拥有数百个细胞进行转换的人来说不是一个解决方案。 (3认同)

Ant*_*nio 9

如果无法通过超链接添加额外的列,则替代方法是使用外部编辑器将超链接包含在=hyperlink("和中"),以获取=hyperlink("originalCellContent")

如果您具有Notepad ++,则可以使用以下配方半自动执行此操作:

  • 将地址列复制到Notepad ++
  • 保持ALT- SHIFT按下时,延长你的光标从左上角到左下角,和类型=hyperlink("。这会=hyperlink("在每个条目的开头添加。
  • 打开“替换”菜单(Ctrl- H),激活正则表达式(ALT- G),然后用替换$(行尾)"\)。这会\在每行的末尾添加一个封闭的引号和一个封闭的括号(激活正则表达式时必须将其转义)。
  • 将数据粘贴回Excel中。实际上,只需复制数据并选择要结束数据的列的第一个单元格。


小智 6

这个方法适用于我使用超链接功能:

=HYPERLINK("http://"&B10,B10)
Run Code Online (Sandbox Code Playgroud)

B10包含URL文本版本的单元格在哪里(在此示例中).


Vin*_*Vin 6

  1. 使用公式 =HYPERLINK() 创建一个临时的新超链接列
  2. 将该列复制到 Microsoft Word 中(仅在 Word 运行后复制到剪贴板)。
  3. 复制新 Word 文档中的所有内容(先按 ctrl+a,然后按 ctrl+c)。
  4. 粘贴到 Excel 中,替换原始文本列。删除带有公式的临时列。


小智 5

使用Windows上的Excel 2007,我发现这些步骤最简单。

  1. 选择具有无效网址的单元格
  2. 复制
  3. 粘贴为超链接


Ebr*_*owi 5

我很震惊 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>
Run Code Online (Sandbox Code Playgroud)

  • 哇 !这是最简单也是最好的答案! (3认同)
  • 与其他答案非常不同,但非常聪明。 (3认同)
  • 这适用于电子邮件: `data:text/html,&lt;button onclick="document.write(document.body.querySelector('textarea').value.split('\n').map(x =&gt; '&lt; a href=\'mailto:' + x + '\'&gt;' + x + '&lt;/a&gt;').join('&lt;br&gt;'))"&gt;Linkify&lt;/button&gt;&lt;br&gt;&lt;textarea&gt;&lt; /文本区域&gt;` (2认同)