如何获取单元格内的所有图片?

时间:2013-09-08 21:22:27

标签: excel vba excel-vba

我有一个电子表格,每个单元格(从1到5)都有可变数量的图片(图标),每张图片都有自己的超链接。对于每个单元格,我需要识别其中有多少图片,然后填写单元格旁边的HyperLink名称/地址。

我需要解决的最重要的部分是如何识别和访问任何给定单元格中的所有图片。获取超链接地址应该很容易。


如果能够更容易地解决并循环遍历每张图片并返回其位置,我可以将问题转移到其头上 - 如果可能的话。

1 个答案:

答案 0 :(得分:2)

假设您将为形状所在的活动表运行此宏...

假设形状的TopLeft corner是形状单元位置的参考点......

以下子程序应该为您提供完整的解决方案或进一步调整的良好开端。

Sub qSolution()

    Dim SHP As Shape
    Dim rowSHP As Long
    Dim colSHP As Long

    For Each SHP In ActiveSheet.Shapes
        rowSHP = SHP.TopLeftCell.Row
        colSHP = SHP.TopLeftCell.Column

        If Cells(rowSHP, Columns.Count).End(xlToLeft) <= colSHP Then
            Cells(rowSHP, colSHP + 1) = SHP.Hyperlink.Address
        Else
            Cells(rowSHP, Columns.Count).End(xlToLeft).Offset(0, 1) = _
                                        SHP.Hyperlink.Address
        End If
    Next

End Sub