我有几百个标题的列表,每个条目有几列(即名称,日期等)。在这些名称中,我添加的条目只是说“A”,“B”,“C”等,因为它可以更轻松地滚动文档,查找特定名称,知道在哪里 - 例如 - “H”启动。
随着列表的增长,我在文档顶部添加了超链接,以便能够跳转到A / B / C / etc.-条目。但是,当添加新数据并对其进行排序时,或者按日期或其他任何方式对列表进行排序时,超链接“转到:A”(作为示例)会保持链接到原始单元格 - A1 - 尽管该单元格的数据(实际文字“A”)现在在A42。
有没有通过排序和[主要]添加新数据来维护超链接?
答案 0 :(得分:2)
每个链接都将保留在适当的单元格中。
答案 1 :(得分:1)
A1中的公式是=HYPERLINK($I1,"Go to: "&H1)
,可以根据需要进行复制。
(= MATCH'不喜欢与搜索字母相同范围内的超链接单元格。)
或者在Row1中(但仍然在新的ColumnA中)并向下复制,而不需要ColumnH:I:
=HYPERLINK("[SO17535313.xlsx]Sheet1!"&"B"&MATCH(CHAR(64+ROW()),B:B,0),"Go to: "&CHAR(64+ROW()))
答案 2 :(得分:1)
Excel中存在与超链接和排序相关的已确认错误。
我应该注意到,在我的情况下,我正在制作超出Excel(ProjecWise)之外的文档的超链接。
我的工作是将所有超链接作为文本存储在一列中,并使用Excel Hyperlink()函数为另一列中的每一行生成超链接。如果要从外部源(如浏览器)粘贴超链接,请选择单元格,然后将链接粘贴到功能区下方的功能框中,而不是直接粘贴到单元格中。这将为您提供文本,而不是在单元格中创建超链接对象。
我完全不明白这个问题,但是根据我对Excel处理超链接的方式的新理解,单元格中的超链接以某种方式链接到工作表对象上的超链接集合。对工作表上的行进行排序时,工作表超链接引用开始返回错误的引用。我找不到表单超链接引用的唯一“句柄”,但注意到h.Parent.Top在我排序时发生了变化。
Public Sub ShowSheetHyperlinks()
' Use this to demonstrate the issue acknowledged here: http://support.microsoft.com/kb/214328
' Add some hyperlinks in a column of a spreadsheet and random values in a column next to it.
' Run this routine. Then sort the values by the first or second column and run this routine again.
' You may have to do this a few times, and/or copy and paste your hyperlink cells to other cells.
' Eventually you will see that the results change after the two columns are sorted.
' (You may not need two columns, but it may help to randomize the sorting.)
Dim h As Hyperlink
Debug.Print "Hyperlinks on " & ActiveSheet.Name & ": " & ActiveSheet.Hyperlinks.Count
For Each h In ActiveSheet.Hyperlinks
' After you sort the list of hyperlinks, you will notice the values in the
' three columns below. I am truncating the address to just see the last 20 characters.
Debug.Print h.TextToDisplay, h.Parent.Top, Right(h.Address, 20)
Next
End Sub