Vba 具有使用单元格值的动态文件地址的超链接
我在谷歌上搜索了一段时间,但找不到合适的解决方案 我想有一个超链接,它从某个单元格中检索它的部分地址。也就是说,插入超链接时,我希望它引用单元格值而不是绝对值字符串,这样超链接就可以轻松更改 以下是所作的分述:Vba 具有使用单元格值的动态文件地址的超链接,vba,excel,hyperlink,Vba,Excel,Hyperlink,我在谷歌上搜索了一段时间,但找不到合适的解决方案 我想有一个超链接,它从某个单元格中检索它的部分地址。也就是说,插入超链接时,我希望它引用单元格值而不是绝对值字符串,这样超链接就可以轻松更改 以下是所作的分述: Sub CreateHyper(ARow As Integer, AColumn As Integer, ASheet As Integer, TargetAdress As String, HName As String) Sheets(1).Hyperlinks.Add A
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:\许多文件夹\\
TargetAddress不是指向单元格,而是指向驱动器上的文件\File.pdf
我认为所有其他变量都是自我解释的
因此,当A2更新时,所有超链接也应该更新
下面的工作正常,但如果A2发生更改,目标将不会更改,因为它将是静态的,如何使SheetsDATA.RangeA2.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
有什么建议吗?AFAIK,创建带有超链接的超链接。添加将永远不会是动态的,因为地址将是创建链接时该单元格的内容。如果该单元格发生更改,链接将不会更新。您需要重复运行该子节点,以便将新单元格内容用作链接 <>而不是将超链接放置到一个单元格中,考虑使用超链接工作表函数,它从一个单元格动态地链接地址。
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
注意,我在变量名中使用了正确的地址拼写。您的原始代码拼写不正确,这可能导致调试时出现混乱 那么,您尝试过的东西有什么不起作用呢?通常情况下,targetAddress包含整个路径,因此可以工作,但现在我希望地址中有一个单元格引用,这是我无法管理的引用位。A2 includes=c:\folder1\Hyperlink将是:c:\folder1\folder2\file.pdf,如果我将A2更新为:c:\folder3\Hyperlink现在将如何更新为c:\folder3\folder2\file.pdf如果删除“位”,它将工作,但如果A2更改,它将是静态的,并且不会更改目标地址。