Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
excel-指向不同工作簿和特定工作表的超链接?运行时错误5_Excel_Vba - Fatal编程技术网

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

excel-指向不同工作簿和特定工作表的超链接?运行时错误5,excel,vba,Excel,Vba,我有两本工作手册Workbook1和Workbook2。在“我的工作簿2”中的一个工作表中,A列包含单元格引用,E列包含工作簿1的工作表名称 我基本上想在Workbook2的B列的使用范围上创建超链接,这样当我单击B列的任何单元格时,它就会将我带到Workbook1 目前,我在下面提到的行中收到错误“运行时错误5”: sh.Hyperlinks.Add Anchor:=Cell, Address:="", SubAddress:="'" & "C:\Users\ Workbook1.x

我有两本工作手册Workbook1和Workbook2。在“我的工作簿2”中的一个工作表中,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

我认为这有两个问题

首先,它不喜欢的语法是
单元格(“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,然后看看这是否会给您提供所需的结果