2010-04-07 253 views

回答

237

如果您不想制作一个宏,并且只要您不介意添加一列,那么只需在您的URL列旁边创建一个新列。

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

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

+2

如果我的A列中包含200个链接值,是有可能写出一个公式,其超链接的200个值,并把它改写在A列中,而不是创建一个新的列? – developer 2010-04-07 20:50:41

+2

谢谢!这在30,000个单元上运行良好。 – 2012-12-07 20:26:12

+13

如果URL长度超过255个字符,则这不起作用。 – Nathan 2014-01-07 18:28:55

14

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

  1. 创建一个公式,="=hyperlink(""" & A1 & """)"
  2. 向下拖动
  3. 复制新的公式栏
  4. 粘贴特殊值,只比原先列
  5. 高亮列,单击按Ctrl - ^h(替换),找到并替换==(以某种方式强制重新评估细胞)。
  6. 单元现在应该可以点击作为超链接。如果您想要蓝色/下划线样式,那么只需突出显示所有单元格并选择超链接样式。

单独的超链接样式不会转换为可单击的链接,并且“插入超链接”对话框似乎无法将文本用作批量单元格群组的地址。除此之外,F2通过所有单元格输入会执行此操作,但对于很多单元格来说这是单调乏味的。

+3

只是=(HYPERLINK(间接(地址(行(),列()+ 1)),“着装”和行())更容易 – 2013-03-18 13:56:54

+0

这应该是公认的答案! – Ma3x 2017-10-11 14:58:09

20

这是我找到的一种方法。我在使用Excel 2011的Mac上。 如果B列有文本值要超链接,请将此公式放入单元格C1(或D1或任何只要它是空列的地方):=HYPERLINK(B1,B1) 这将插入作为链接文本的位置的超链接和作为链接文本的“友好名称”。如果你有另一个列有每个链接的友好名称,你也可以使用它。 然后,如果你不想看到它,你可以隐藏文本列。

如果你对某件事有ID的列表,和网址都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中工作。

+0

适用于Windows,Excel 2013,是另一列的理想选择。 – mdisibio 2017-04-10 20:44:49

+0

仅供参考,开放式办公室上面给出了一个错误,但它似乎= HYPERLINK(C1)的作品,如果只给出一个参数 – tonypdmtr 2017-05-22 12:08:18

-5

有一个非常简单的方法来做到这一点。创建一个超链接,然后使用“格式刷”复制格式。它会为每个项目创建一个超链接。

+1

我不明白它的工作。你能详细说明吗? – 2012-10-06 14:41:14

+8

这不起作用,它只是复制格式,使它们看起来像超链接。 – reergymerej 2013-02-02 00:56:18

67

创建宏如下:

在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! 完成!

+0

工作得非常出色。非常感谢。 – Bharathi 2014-06-06 13:03:23

+0

如果您使用显式选项,请将Dim xCell添加为范围。对于改变单元格的解决方案+1(如问题所述)并提供执行此操作的代码。 – Praesagus 2014-12-22 23:52:27

+0

这对我来说很好,因为我在一个需要更新的电子表格中有大约5万个链接,并且必须以块或Excel的形式进行更新才能崩溃。 – ssaviers 2015-06-15 22:06:02

6

此方法我使用超链接功能:

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

哪里B10是包含URL的文本版本(在这个例子中)的细胞。

+0

= HYPERLINK(“http://”&B10,B10)没有在我的Excel 2013中工作,但是 = HYPERLINK(“http://”&B10)DID工作。 – agibsen 2013-05-08 09:18:26

4

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

  1. 与非现用URL选择单元格
  2. 复印
  3. 粘贴为超级链接
+1

在后来的版本中(我使用的是Office 2011),这不起作用 - 我只是获得超链接到桌面文件(这一个),而不是单元格中显示的URL。例如file:// localhost/Users/xxxx/Desktop/Blahblahblah File Name.xlsx - Sheet1!A2 – Dannid 2014-01-30 20:27:51

1

可以插入式=HYPERLINK(<your_cell>,<your_cell>)到相邻小区和拖动它沿着一路底部。这会给你一个所有链接的专栏。现在,您可以通过单击标题来选择原始列,然后单击鼠标右键,然后选择Hide

-3

Excel 2010中最简单的方法: 选择包含URL文本的列,然后从主页选项卡中选择超链接样式。 该列中的所有网址现在都是超链接。

也双击URL文本末尾的每个单元格,并添加一个空白或只是输入也会产生一个超链接。类似于您必须在MS Outlook电子邮件中创建URL链接的方式。

+4

它们不是超链接,它们看起来像超链接。这只是造型。 – Erica 2015-03-06 12:58:17

15

对于相当短名单相当简单的方法:

  1. 在其中的URL是
  2. 箱双击输入

你有你的链接;)

+9

我使用F2来编辑一个单元格,然后重复输入,以快速运行我的列表。简单。谢谢! – 2014-02-11 17:50:57

+1

这加上关于F2的评论让我在一分钟左右的160个超链接列。所以是的,如果专栏足够短,这就是要走的路。 – 2016-10-21 16:27:38

+0

优秀的解决方案! – 2016-11-13 06:12:50

0

如果复制文本内容放入一个新列及用途:

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

在您的原始专栏上。然后使用$为列,因此它看起来像这样:

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

这只是它为我工作在Excel 2010中在Windows 7上的方式,你可以复制下来的配方。

-1
这里

最简单的方法

  • 突出显示整列
  • 点击 '' 插入 ''
  • 点击 '' 超链接 ''
  • 点击 '' 本文档中的地方 ''
  • 点击确定
  • 那就是全部
+0

这不起作用,除非链接是在文档中的内容。 – Erica 2015-03-06 12:56:12

+0

我的确同意这个问题措辞不佳,但预期的目标显然是文本本身。 – 2015-03-12 16:26:28

2

试试这个:

= HYPERLINK( “电子邮件地址:” & A1,A1)

与您的电子邮件地址单元的文本替换A1。

1

我发现如果超链接不包含http中没有一个方法在这里工作://,因为他们与当地的位置。

我也想防呆脚本的用户将不能够保持它自己,我也不会用。

它只能在选定的单元格区域运行,如果它们含有点和没有空格。它只能运行多达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 
0

将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]

我发现,它的工作。

我有以下网址:

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中,并且链接处于活动状态。

2

对我来说,我只是复制其在文本格式转换成另一种应用程序的URL整列(说的Evernote),当他们被粘贴有他们成为链接,然后我只是复制他们回来到Excel中。

这里唯一的一点是,你需要确保你复制回线与列的其余部分的数据。

1

谢谢Cassiopeia代码。我改变他的代码来使用本地地址,并且对他的条件做了些许改变。我除去以下条件:

  1. 变化http:/file:///
  2. 除去了所有类型的白色空间条件
  3. 改变10k的单元格范围的条件为100K

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 
+0

完美工作,我在几秒钟内制作了〜7000超链接。 :)谢谢仙后座。 – Junaid 2016-11-23 07:20:17

1

如果adding an extra column with the hyperlinks是不是一个选项,如果你已经安装了notepad ++,你可以:

  • 复制地址到记事本++
  • 保持ALT列 - SHIFT压,从左上角到右下角扩展你的光标,并键入=hyperlink("。这在每个条目的开头增加了=hyperlink("
  • 打开 “替换” 菜单(Ctrl键 - ħ),激活的正则表达式(ALT - ģ),并与替换"\)$(行尾)。这会在每行的末尾添加一个封闭引号和一个闭括号(在正则表达式激活时需要跳过\)。
  • 在Excel中粘贴数据。在实践中,只需复制数据,然后选择希望数据结束的列的第一个单元格。
3

对于任何使用Excel 2016登陆这里,你可以简单地突出栏,然后单击Hyperlink标签位于在Styles框中Home色带。

enter image description here

+1

这只会给单元格样式,而不会使URL可点击。 – stenlytw 2018-02-14 12:41:17

相关问题