excel - 指向不同工作簿和特定工作表的超链接?运行时错误5

时间:2017-05-19 10:01:01

标签: excel-vba vba excel

我有两个工作簿Workbook1和Workbook2。在我的Workbook2中的一个工作表中,列A包含单元格引用,而列E包含工作簿1的工作表名称。

我基本上想要在Workbook2的B列的使用范围上创建超链接,这样当我点击B列的任何单元格时,它应该带我到Workbook1

目前我在下面提到的行上收到错误"运行时错误5:

 sh.Hyperlinks.Add Anchor:=Cell, Address:="", SubAddress:="'" & "C:\Users\ Workbook1.xlsx" & "'" & Cells("E:E").Value & "'!" & Cell.Address

总代码:

sub hyerlinkworkb ()

Set sh = ActiveWorkbook.Sheets("Summary Sheet")
Set sw = Workbooks("Workbook1.xlsx")
       lr = sh.Range("A" & Rows.Count).End(xlUp).Row
Set Rng = sh.Range("B2:B" & lr)
    For Each Cell In Rng
      sh.Hyperlinks.Add Anchor:=Cell, Address:="", SubAddress:="'" & "C:\Users\workbook1.xlsx" & "'" & Cells("E:E").Value & "'!" & Cell.Address

 Next
end sub

1 个答案:

答案 0 :(得分:1)

我认为有两件事是错的。

首先,它不喜欢的语法是cells("E:E").value我认为你需要一次指定一个单元格值。

其次,工作簿地址应该在地址下,然后是子地址下的工作表和单元格引用。

沿着这些方向尝试一些事情。我已经测试了它似乎可以使用一些虚拟日期

Sub hyerlinkworkb()

Set sh = ActiveWorkbook.Sheets("Summary Sheet")
Set sw = Workbooks("Workbook1.xlsx")
       lr = sh.Range("A" & Rows.Count).End(xlUp).Row
Set Rng = sh.Range("B2:B" & lr)
i = 1
    For Each cell In Rng
    sh.Hyperlinks.Add Anchor:=cell, Address:="C:\Users\workbook1.xlsx", SubAddress:="'" & Range("E" & i).Value & "'!" & cell.value
    i = i + 1
 Next
End Sub