0

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

4

2 回答 2

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
于 2013-06-27T11:40:02.483 回答
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)

第 4 点和第 5 点可以合并为一个公式。

图解图片

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

于 2013-06-27T14:27:54.803 回答