我在excel中有一个列,其中我有所有的网站url值。我的问题是我想把url值转换为活动链接。该列中大约有200个条目,所有单元格中都有不同的url。是否有一种方法可以在不编写宏的情况下创建到所有单元格的活动超链接。


当前回答

如果你复制文本内容到一个新的列,并使用:

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

在你原来的专栏上。然后使用$的列,使它看起来像这样:

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

这是我在Windows 7上使用Excel 2010的唯一方法。你可以把这个公式抄下来。

其他回答

试试这个:

=超链接(mailto: A1, A1)

将A1替换为电子邮件地址单元格的文本。

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

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

在Mac上,一个非常简单的方法就是在Excel中选择整个电子表格,复制,启动Numbers,粘贴,然后全选,复制,粘贴回Excel中。

谢谢仙后座的代码。我更改了他的代码,使其与本地地址一起工作,并对他的条件做了一些更改。我删除了以下条件:

将http:/修改为file:/// 删除了所有类型的空白条件 改变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

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

这里唯一需要做的是确保复制回来的数据与其余列对齐。