我在excel中有一个列,其中我有所有的网站url值。我的问题是我想把url值转换为活动链接。该列中大约有200个条目,所有单元格中都有不同的url。是否有一种方法可以在不编写宏的情况下创建到所有单元格的活动超链接。
当前回答
试试这个:
=超链接(mailto: A1, A1)
将A1替换为电子邮件地址单元格的文本。
其他回答
使用Windows上的Excel 2007,我发现这些步骤最简单;
选择具有非活动url的单元格 复制 粘贴为超链接
如果你不想做一个宏,只要你不介意额外的列,那么就在你的url列旁边创建一个新列。
在公式中的新列类型=HYPERLINK(A1)中(将A1替换为您感兴趣的单元格)。然后将公式复制到剩下的200个条目中。
注意:如果单元格A1包含的字符串长度超过255个字符,则此解决方案不起作用。它的结果是#VALUE!错误
好吧,这是一个做作的解决方案,但我只是不知道如何让Excel评估一列的url作为超链接批量。
创建公式="=hyperlink(""" & A1 & """)" 拖累 复制新公式列 仅在原始列上粘贴特殊值 突出显示列,单击Ctrl-H(以替换),查找并用=替换=(以某种方式强制重新计算单元格)。 单元格现在应该是可点击的超链接。如果你想要蓝色/下划线样式,然后只突出所有单元格,并选择超链接样式。
超链接样式本身不能转换为可点击的链接,“插入超链接”对话框似乎不能将文本作为一堆单元格的地址。除此之外,F2和Enter通过所有单元格就可以做到这一点,但这对很多单元格来说很乏味。
谢谢仙后座的代码。我更改了他的代码,使其与本地地址一起工作,并对他的条件做了一些更改。我删除了以下条件:
将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
如果你复制文本内容到一个新的列,并使用:
=HYPERLINK("http://"&B10,B10)
在你原来的专栏上。然后使用$的列,使它看起来像这样:
=HYPERLINK("http://"&$B10,$B10)
这是我在Windows 7上使用Excel 2010的唯一方法。你可以把这个公式抄下来。