Excel工作表中的自动超链接?

时间:2013-06-26 13:05:55

标签: excel

我希望excel自动创建到另一个单元格的超链接。我有一个不同字符串的列,当我在另一列中键入其中一个存在字符串的名称时,我想要一个自动链接到第一列中的单元格。这有可能,你会怎么做呢?

2 个答案:

答案 0 :(得分:0)

如果您使用的是VSTO:

在ThisAddin中声明SortedList对象以保留关键字和范围地址

Dim keywordList As New SortedList(Of String, String)

在Application.SheetChange中,您可以捕获您键入的字符串。 您可以使用Target.Value和Target.Address。

在SortedList中查找Target.Value。如果找不到任何内容,请使用值和范围地址向列表中添加新条目。 如果已经声明了条目,则从列表中获取地址并创建目标的超链接

Public Sub Application_SheetChange(ByVal Sh As Object, ByVal Target As Microsoft.Office.Interop.Excel.Range) Handles Application.SheetChange
   Dim value As String = CStr(Target.Value) 
   If liste.ContainsKey(value) Then
       Dim address As String = String.Empty
       keywordList.TryGetValue(value, address)
       If Not String.IsNullOrEmpty(address) Then
           Target.Parent.Hyperlinks.Add(Target, address)
       End If
   Else
      keywordList.Add(CStr(Target.Value), CStr(Target.Address))
   End If
End Sub

答案 1 :(得分:0)

不完全是你所要求的,但它可以完成这项工作:

  1. 假设您有一个名为“test.xlsx”的文件
  2. 在“A”栏中写下你的字符串
  3. 在列“C”中写入要创建超文本链接的字符串
  4. 在“D”栏中写下=MATCH(C2;A:A;0)
  5. 在“E”栏中写下=HYPERLINK("[test.xlsx]A"&D2;"GO TO "&C2)
  6. 第4点和第5点可以合并为一个公式。

    Ilustrating picture

    您的描述与我的解决方案之间的区别在于我在相邻单元格中构建超链接(不是您将搜索字符串写入的单元格)