Excel-从其他工作表和超链接上的单元格提取数据

时间:2018-07-05 14:27:43

标签: excel vba excel-vba excel-formula excel-2010

我知道如何使用公式=Sheet2!A2从excel中的单独工作表中提取数据。这会从Sheet2中提取我在A2单元格中拥有的所有数据。但是,是否有使用公式从该单元中提取数据并将其超链接到该单元的方法呢?我知道您可以手动链接它,但我正在尝试使表格尽可能自动化。任何帮助,谢谢。

2 个答案:

答案 0 :(得分: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 :(得分: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链接。