在动态超链接中使用变量中的值

时间:2016-08-05 17:57:57

标签: excel vba hyperlink

我有一个摘要表,我用它作为索引通过超链接访问多张表。我正在扩展它,以便它们直接链接到每个工作表中的相应行。

我对VBA很新,不确定语法。 我基本上试图使用变量j中的值作为单元格引用中的行号。 "'!A"是我在下面的代码中的单元格引用的第一部分。然后我尝试连接字符串以添加j作为行号。可以使用下面的代码完成吗?我尝试用括号括起j,撇号无效。

For j = 2 To LastUsedRow

    link = "=Hyperlink(""#'" & (ThisWorkbook.Worksheets(i).Name) & "'!A" & j",""" & (ThisWorkbook.Worksheets(i).Name) & """)"

非常感谢

3 个答案:

答案 0 :(得分:1)

VBA字符串中包含双引号很棘手。

link = "=Hyperlink(""#'" & (ThisWorkbook.Worksheets(i).Name) & "'!A" & j & """,""" & (ThisWorkbook.Worksheets(i).Name) & """)"

link作为=Hyperlink("#'SheetName'!A2","SheetName")

答案 1 :(得分:1)

Debug.Print是你的朋友。这是您使用当前代码获得的结果(假设j = 1ThisWorkbook.Worksheets(i).Name = "Sheet1"):

=Hyperlink("#'Sheet1'!A1,"Sheet1")

公式应如下所示:

=HYPERLINK("#'Sheet2'!A1","Sheet2")

所以...添加只需添加缺少的"

link = "=HYPERLINK(""#'" & (ThisWorkbook.Worksheets(i).Name) & _
       "'!A" & j & """,""" & (ThisWorkbook.Worksheets(i).Name) & """)"

答案 2 :(得分:-1)

你需要调用你想从j中提取的内容,例如:j.Value