带有使用单元格值的dynamic文件地址的HyperLink
我一直在使用Google这一段时间,但无法find一个合适的解决scheme。
我想有一个超链接,它从某个单元格中获取它的(部分地址)地址。 也就是说,当插入一个超链接,我希望它引用一个单元格的值,而不是一个绝对string,所以超链接可以很容易地改变。
接下来是这个子做的:
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不是单元格,而是驱动器上的文件。 … \ File.pdf
我认为所有其他variables都是自我解释的。
所以当“A2”更新时,所有的超链接都应该更新。
下面的工作,但如果A2被改变,目标不会改变,因为它将是一个静态的,如何使“表格(”数据“)。范围(”A2“)。
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
有什么build议么?
AFAIK,使用Hyperlinks.Add
创build一个超链接Hyperlinks.Add
永远不会是dynamic的,因为地址将是链接创build时该单元格的内容。 如果该单元格更改,链接将不会更新。 您需要重复运行该子文件才能使用新的单元格内容作为链接。
不要像这样将超链接放到单元格中,而是考虑使用超链接工作表函数,并从单元格中dynamic获取链接地址。
Sub CreateHyper(ARow As Integer, AColumn As Integer, ASheet As Integer, TargetAddress As String, HName As String) Dim TargetCell As Range Set TargetCell = ThisWorkbook.Sheets(ASheet).Cells(ARow, AColumn) TargetCell.Formula = "=hyperlink('Data'!A2&""" & TargetAddress & """,""" & HName & """)" End Sub
请注意,我在variables名称中使用了地址的正确拼写。 您的原始代码拼写错误,这可能会导致debugging时出现混乱。