VBA生产的HYPERLINK公式实际上并没有创build可行的超链接

我试图通过VBA生成一个HYPERLINK公式,但是当我点击产生的链接时,我得到一个Excel错误信息“无法打开特定文件”。 我试过这个,但结果相同。

这是我的代码来生成链接。

wksUsersSheet.Range(COMMENTARY_COL & lngRowNow).FormulaR1C1 = "=HYPERLINK(" & Chr(34) & "[" & strThisBooksName & "]" & strFoundMatchWorksheetName & "!" & strFoundMatchAddress & Chr(34) & "," & Chr(34) & rngReturnedMatchingPart.Value & Chr(34) & ")" 

即时窗口显示: =HYPERLINK("[UPN_Template_Wip]AleksV!$I$4","2322 734 61009L")

我已经尝试过.Formula ,但结果是一样的。

我在Windows 7中使用Excel 2007。我在这里丢失了一些东西,因为它看起来很好,只是不能正常工作。 谢谢。

使用macroslogging器在空白testing表上创build一个超链接,我得到:

  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "Sheet1!A1", TextToDisplay:="HL Here" 

把这个翻译成你的具体细节,我相信你应该有:

 wksUsersSheet.Hyperlinks.Add Anchor:=wksUsersSheet.Cells(lngRowNow, Commentary_Col), _ Address:="", _ SubAddress:="[" & strThisBooksName & "]" & strFoundMatchWorksheetName & "!" & _ strFoundMatchAddress, _ TextToDisplay:=rngReturnedMatchingPart.Value 

根据你的评论试试这个:

将你的strFoundMatchAddress转换为一个行号和一个列号,我将它们FoundMatchAddrRowFoundMatchAddrCol

  ActiveCell.FormulaR1C1 = "=HYPERLINK(" & Chr(34) & "[" & strThisBooksName & "]" & _ strFoundMatchWorksheetName & "!R[" & FoundMatchAddrRow & "]C[" & _ FoundMatchAddrCol & "],""" & _ rngReturnedMatchingPart.Value & """)" 

请注意,在最终string中使用""生成一个单独的string,并且减less了连接,并且不需要Chr(34) 。这不是必需的,但是确实减less了键入。