链接到Excel中的可变单元格

时间:2013-12-06 18:13:07

标签: excel vba excel-vba

我有一张工作簿,有两张。在Sheet1中,我在每行中都有一个链接,它将链接到Sheet2。在Sheet2中,我需要生成一个链接,将我带回到我在链接上单击的同一行。单击链接后,该行的数量将存储在Sheet2的单元格A1中。

例如,这个公式会生成一个链接,让我回到第1页,单元格1.但是,我希望能够生成不同的行号而不是第一行。

Sheet2.Cells(19, 1) = "=HYPERLINK(""#Sheet1!A1"",""CLICK HERE"")"

感谢。

1 个答案:

答案 0 :(得分:2)

是的,您可以设置不同的范围,创建范围字符串并将其添加到超链接公式中。

Sub HyperlinkTest()

Dim cell As Range
Dim rangeString As String

Set cell = Sheet2.Cells(2, 3)

'rangeString = Sheet2!$C$2
 rangeString = cell.Worksheet.Name & "!" & cell.Address


Sheet2.Cells(19, 1) = "=HYPERLINK(""#" & rangeString & """,""CLICK HERE"")"

End Sub

或者,您可以在代码中为工作表添加超链接,而不是使用超链接功能。

这是一个例子。

Sub HyperlinkTest2()

Dim targetCell As Range, sourceCell As Range
Dim targetRangeString As String

Dim displayText As String

displayText = "Click Me"

Set targetCell = Sheet1.Cells(2, 3) 'where we want the hyperlink to point to
Set sourceCell = Sheet2.Cells(30, 1) 'where we want to put the hyperlink

'target range address including sheet name
targetRangeString = targetCell.Worksheet.Name & "!" & targetCell.Address

'add the hyperlink
Sheet2.Hyperlinks.Add sourceCell, "", targetRangeString, , displayText

End Sub