Excel - 从不同工作表和超链接上的单元格中提取数据

问题描述 投票:1回答:2

我知道如何使用公式=Sheet2!A2从excel中的单独工作表中提取数据。这会从我的Sheet2中获取A2单元格中的任何数据。但是,是否可以从该单元格中提取数据并使用公式将其超链接到单元格?我知道你可以手动链接它,但我想让我的表单尽可能自动化。什么都有帮助,谢谢。

excel vba excel-vba excel-formula excel-2010
2个回答
2
投票

尝试,

=hyperlink("#"&address(row(sheet2!a2), column(sheet2!a2), 4, 1, "sheet2"), sheet2!a2)

您还可以使用基于信息功能CELL的长子公式解析工作表名称。

=hyperlink("#"&address(row(sheet2!a2), column(sheet2!a2), 4, 1, mid(cell("filename", sheet2!a2), find("]", cell("filename", sheet2!a2))+1, 255)), sheet2!a2)

由于CELL("filename", ...)函数的性质,它只返回保存的工作簿中的工作表名称。即不是未保存的Book1。


1
投票

根据URL的长度,有时= HYPERLINK仍然无法工作,因为单元格中的字符限制。

这不是我的代码,但我不记得来源:

Sub insertVeryLongHyperlinks()
Dim allCells As Range
Dim curCell As Range
Dim longHyperlink As String
Dim title As String

Set allCells = Range("A2:A2") '## Modify as needed

For Each curCell In allCells
    title = Cells(curCell.Row, "A").Value '## Modify row for visible text of hyperlink
    longHyperlink = curCell.Value

If Len(curCell) > 1 Then

    curCell.Hyperlinks.Add Anchor:=curCell.Offset(0, 1), _
                Address:=longHyperlink, _
                SubAddress:="", _
                ScreenTip:=title, _
                TextToDisplay:=title

Else
End If
Next

'MsgBox "Hyperlinks updated!"

End Sub

由于偏移,这将在右侧的单元格中添加一个链接,并将使用A2中的值作为标题。使用此方法,您可以创建超出单元格字符限制的URL链接。

© www.soinside.com 2019 - 2024. All rights reserved.