【发布时间】:2014-11-22 23:51:40
【问题描述】:
我已经在谷歌上搜索了一段时间,但找不到合适的解决方案。
我想要一个超链接,它可以从某个单元格中检索它的(部分)地址。 IE。插入超链接时,我希望它引用单元格值而不是绝对字符串,以便可以轻松更改超链接。
接下来是制作的子:
Sub CreateHyper(ARow As Integer, AColumn As Integer, ASheet As Integer, TargetAdress As String, HName As String)
Sheets(1).Hyperlinks.Add Anchor:=Sheets(ASheet).Cells(ARow, AColumn), _
Address:="'" & Sheets("DATA").Range("A2").Value & "'" & TargetAdress, TextToDisplay:=HName
End Sub
A2 中的单元格值取决于 excel 的存储位置可能是 C:\ 或 X:\alot_of_folders \ ...\
TargetAdress 不是单元格,而是驱动器上的文件。 ...\文件.pdf
我认为所有其他变量都是不言自明的。
因此,当“A2”更新时,所有超链接也应该更新。
下面的工作,但是如果A2被改变,目标不会改变,因为它是一个静态的,如何使“Sheets(“DATA”).Range(“A2”).value成为一个参考?
Sub CreateHyper(ARow As Integer, AColumn As Integer, ASheet As Integer, TargetAdress As String, HName As String)
Sheets(1).Hyperlinks.Add Anchor:=Sheets(ASheet).Cells(ARow, AColumn), _
Address:=Sheets("DATA").Range("A2").Value & TargetAdress, TextToDisplay:=HName
End Sub
有什么建议吗?
【问题讨论】:
-
那么,您尝试过的方法有什么问题?
-
通常 TargetAdress 包括整个路径(这样可以工作),但现在我想要地址中的单元格引用,这是我无法管理的引用位。 A2 包括 = c:\folder1\ 超链接将为:c:\folder1\folder2\file.pdf 如果我将 A2 更新为:c:\folder3\ 现在如何将超链接更新为 c:\folder3\folder2\file。 pdf 如果您删除“'”位,则它可以工作,但它会是静态的,并且如果 A2 更改,则不会更改目标地址。