Excel:从单元格中的图像检索超链接

Excel:从单元格中的图像检索超链接,excel,hyperlink,vba,Excel,Hyperlink,Vba,在通过导入外部数据和图像创建的Excel工作表中,有几个单元格,每个单元格包含不同的图像,并且该图像具有超链接。这些包含图像的单元格都在一列中 如何从每个图像中检索该超链接? 无法从该单元格中检索超链接 我有一个用户定义的函数,如果有超链接,它可以轻松地从任何单元格检索超链接 Function GetURL(rng As Range) As String On Error Resume Next GetURL = rng.Hyperlinks(1).Address End Function 这

在通过导入外部数据和图像创建的Excel工作表中,有几个单元格,每个单元格包含不同的图像,并且该图像具有超链接。这些包含图像的单元格都在一列中

如何从每个图像中检索该超链接? 无法从该单元格中检索超链接

我有一个用户定义的函数,如果有超链接,它可以轻松地从任何单元格检索超链接

Function GetURL(rng As Range) As String
On Error Resume Next
GetURL = rng.Hyperlinks(1).Address
End Function
这个功能可以放在任何地方。 例如:在单元格c25中,必须列出单元格A1中超链接的URL。 为此,只需在单元格c25中输入以下公式

=GetURL(A1)
那很好用

但是,如果该单元格A1包含带有超链接的图像,则结果为零或为零。即使超链接作为该图像的一部分存在

显然,图像是一个需要处理的对象。 如何做到这一点

刚找到一个新的。不幸的是,这个答案没有让我更进一步。 请添加示例代码。
谢谢

形状还有一个超链接。地址 形状在图纸上定义,并具有名称。 把这些放在一起,我想出了以下函数:

Function PicURL(Pic As String, Optional SheetName As String) As String
If SheetName = "" Then SheetName = Application.Caller.Worksheet.Name
On Error Resume Next
PicURL = Sheets(SheetName).Shapes(Pic).Hyperlink.Address
End Function
使用: 如果picture在同一张纸上,则=PicURLPicture 1将返回目标地址。 如果图片位于另一张纸上,则=PicURLPicture 1,则需要使用Sheet1。
如果图片位于不同的工作表中,则这是一个完全不同的游戏,我将此作为练习留给读者。

不幸的是,提供的代码不适用于我。你知道我做错了什么。请不要担心工作表。我需要的是扩展/修改我问题中所述的初始函数,以便它可以读取该单元格中图像的URL。最好是在同一工作表上为一对单元格工作的函数。我将其作为Excel工作表中所有形状的脚本。子转换器Shapes Dim shp As Shape Dim sTemp As字符串用于ActiveSheet中的每个shp。Shapes sTemp=出错时继续下一步“如果没有超链接,则转到下一个形状sTemp=shp.hyperlink.Address出错时转到0如果是sTemp,则返回shp.TopLeftCell.Value=sTemp shp。如果下一个End SubI希望将函数放入特定单元格,则删除End。