如何在Excel单元格内创建超链接?

6

是否可以在Excel单元格内创建超链接,仅使用单元格文本的一部分作为可点击的链接?例如,下面的表格模型表示是否可以在Excel 2010中轻松构建?

a mock up http://dl.dropbox.com/u/14119404/misc/Microsoft%20Excel%20-%20Book1_2012-04-16_14-24-47.jpg

我知道可以轻松地将整个单元格制作成超链接,但据我所知,不能将单元格的特定部分制作成超链接。

通过超链接,我也指的是:

  • (a)另一个单元格或,
  • (b)网址。

谢谢


1
很抱歉报告 - 但是链接到Dropbox返回404。 - rudolf_franek
6个回答

17

创建超链接后,您可以格式化单元格中的文本,使得只有感兴趣的单词带有下划线/蓝色。超链接仍然有效,但显然每个单元格只能有一个链接,单击文本任意位置都会触发该超链接。

例如:

enter image description here

Sub Tester()

    Dim rng As Range

    Set rng = ActiveSheet.Range("A1")

    rng.Parent.Hyperlinks.Add Anchor:=rng, Address:="", SubAddress:= _
        "Sheet1!A10", TextToDisplay:="this is long text"

    With rng.Font
        .ColorIndex = xlAutomatic
        .Underline = xlUnderlineStyleNone
    End With

    With rng.Characters(Start:=9, Length:=4).Font
        .Underline = xlUnderlineStyleSingle
        .Color = -4165632
    End With

End Sub

感谢为单个单元格中的单个链接提供的视觉解决方案,尽管这相当困难。 :-) - llawliet

6

我需要在单元格中显示文件名并进行链接,以下是我的解决方法:

ActiveSheet.Hyperlinks.Add Anchor:=Cells(row, column), Address:=file.Path, TextToDisplay:=file.Path

3
这在Excel中是不可能的。超链接与整个单元格相关联。
如果您查看Excel超链接对象的文档,可以看到它与一个范围相关联。如果可能将超链接与单元格内的某个span关联,则超链接对象需要有一个相关联的范围和字符对象。

感谢您的回复。我们需要提出一个功能请求! - llawliet

1
上面的一行代码非常有用……因为我是新手,无法发表评论。因此,这是我对上面的变体,它从行上的一个值构建一个URL。
CHGRow = 3
Worksheets("Page 1").Select
Cells(CHGRow, 1).Select

Do Until Application.CountA(ActiveCell.EntireRow) = 0

    URLVal = "https://our_url_here?some_parameter=" & Cells(CHGRow, cNumber)
    URLText = Cells(CHGRow, cNumber)
    ActiveSheet.Hyperlinks.Add Anchor:=Cells(CHGRow, cURL), Address:=URLVal, TextToDisplay:=URLText

    CHGRow = CHGRow + 1
    Cells(CHGRow, 1).Select

Loop

0
我建议您将一行拆成两行,合并您需要呈现为单行的列中的单元格,当您到达需要超链接的单元格时,将文字放在上面的单元格中,将链接放在下面的单元格中。 这样看起来就像是非技术性的解决方法,效果也很不错。

0

这是一个我用过的在Excel电子表格单元格中创建超链接字符串的绝妙方法。但是请注意,如果您的工作表有多个编辑器,则不建议使用此方法,因为除非您能提供足够的保护,否则超链接可能会与其单元格中的文本错位。本过程描述了一种实现此目的的方法,但可能会限制贡献者的操作:

在Excel电子表格中,假设您不想保护所有单元格免受编辑,选择工作表中的所有单元格,然后从主页选项卡或右键弹出菜单中选择“格式单元格”。在“保护”选项卡上,选中然后取消选中“锁定”复选框以确保所有单元格都已解锁。
现在选择将包含链接的(第一个)单元格。
将要作为链接显示的文本复制到剪贴板中(不要剪切)。
在电子表格中的任何位置(最好是未使用的区域),并使用形状图标下拉列表或文本图标从插入选项卡中插入文本框。大小和形状还不重要,只需大致估计链接文本的大小即可。
将剪贴板内容粘贴到文本框中。
右键单击文本框并选择“添加链接”以向其添加超链接,并指定链接目标,无论是当前文档中的位置还是URL。
选择链接文本并按照您希望链接显示的方式进行格式设置,例如蓝色、下划线等,因为在文本框内,这显然不会像在单元格中那样自动发生。
再次右键单击文本框并选择“格式形状”。从“格式形状”面板中,按顺序执行以下操作以正确适应形状并消除白色空间和边框:
(a) 在“填充和线条”面板(第一个图标)上,选择“无线条”选项。
(b) 在“大小和属性”面板(第三个图标)上,将所有4个边距设置为零(0.00“),取消选中“在形状中换行”复选框,并选中“调整形状以适应文本”文本框。
(c) 在“属性”下,确保选择以下内容:
* 移动但不随单元格大小调整 * 已锁定 * 锁定文本
如果您需要在多个单元格或同一单元格的多个位置中出现相同的超链接(即使目标不同),请通过右键单击其(现在不可见的)边框,将其复制到剪贴板中,并按Ctrl + V键粘贴所需的副本。
右键单击文本框(或其中一个,如果您克隆了它),并将其拖动到要显示链接的单元格上,直接放置在与匹配超链接的原始文本重叠的位置,以视觉上覆盖并替换它(原始文本作为间隔符以腾出空间)。上述第8项中采取的步骤应防止其覆盖或裁剪原始文本周围的任何文本或标点符号。
选择该单元格,然后从主页选项卡上的“格式”菜单中选择“锁定单元格”,以防止其内容意外更改并使其与相应的文本框错位。
为每个创建的链接文本框重复步骤10和11。如果其中任何一个需要不同的链接目标,请右键单击该文本框的副本,选择“编辑链接”,并更新目标。
从主页选项卡上的“格式”菜单中选择“保护工作表”。选中标记为“保护工作表和锁定单元格内容”的框。
在该对话框中还检查所有其他框(假设您不想以任何方式限制用户),除了以下内容:
* 格式单元格 * 格式列 * 格式行 * 编辑

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接