我希望excel自动创建到另一个单元格的超链接。我有一个不同字符串的列,当我在另一列中键入其中一个存在字符串的名称时,我想要一个自动链接到第一列中的单元格。这有可能,你会怎么做呢?
答案 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)
不完全是你所要求的,但它可以完成这项工作:
=MATCH(C2;A:A;0)
=HYPERLINK("[test.xlsx]A"&D2;"GO TO "&C2)
第4点和第5点可以合并为一个公式。
您的描述与我的解决方案之间的区别在于我在相邻单元格中构建超链接(不是您将搜索字符串写入的单元格)