【问题标题】:excel - hyperlink to different workbook and specific worksheet? RunTime Error 5excel - 到不同工作簿和特定工作表的超链接?运行时错误 5
【发布时间】:2017-05-19 10:01:00
【问题描述】:

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

我基本上想在 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

【问题讨论】:

    标签: excel vba


    【解决方案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
    

    【讨论】:

    • 我已经尝试了上面的代码,它把我带到了 E 列中提到的工作表名称,但是在 B 列中也给出了单元格引用,所以它没有把我带到那里
    • 例如,如果 B2 值 = $G$7 并且 E2 值的工作表名称为“abc”,因此目前它正在 B2 上创建一个超链接并将我带到 abc 工作表,但我希望它应该带我去表 abc 的 G7
    • 将最末尾更改为 cell.Value 而不是 cell.Address ,看看是否能给你想要的结果
    猜你喜欢
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    相关资源
    最近更新 更多