根据单元格值将图片作为形状插入单元格并将其重命名为单元格值奇怪的工作

时间:2018-01-29 09:31:50

标签: excel vba excel-vba

我有一个宏,我将图片作为形状插入合并的单元格(基于单元格颜色),然后我用单元格值(它的公式)命名它们。单元格值是图片路径。

Sub INSERTPICTURES()
Dim shp As Shape
With Sheets("Condition_report")
    Dim cella As Range

    'ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\" & Range("L2") & "\2_handover\CONDITION_SURVEY_REPORT\SURVEY_REPORT_" & Range("L2") & ".xlsm")

    For Each cella In .Range("A51:F200").Cells

        If cella.Interior.ColorIndex = 15 Then

        Set shp = ActiveSheet.Shapes.AddPicture(Filename:=cella, LinkToFile:=msoFalse, SaveWithDocument:=msoCTrue, Left:=cella.MergeArea.Left, Top:=cella.MergeArea.Top, Width:=cella.MergeArea.Width, Height:=cella.MergeArea.Height)
        shp.Name = cella.Value

        'ActiveSheet.Hyperlinks.Add cella, cella.Value
        On Error Resume Next

        End If
    Next
End With
End Sub

图片插入方法工作正常。但是,如果我将On Error Resume Next行停用它会产生错误,则说:找不到图片(可能是因为宏不关心是否合并了一个单元格)。

因此,如果我保持On Error Resume Next行处于活动状态,则会加载所有图片并使用其单元格值命名它们。但是并非所有图片都是正确的

例如为: 单元格值为:

E:\gdrive\work\catsurveys\catsurveys2018\P7C\P7C17630_1\2_HANDOVER\SITE_PHOTOGRAPHS\PHOTOGRAPHS_OF_DAMAGE\MASTER BEDROOM\2\PIC2.JPG

宏插入正确的图片,但是它的名字如下:    E:\ gdrive \ work \ catsurveys \ catsurveys2018 \ P7C \ P7C17630_1 \ 2_HANDOVER \ SITE_PHOTOGRAPHS \ PHOTOGRAPHS_OF_DAMAGE \ MASTER BEDROOM \ 6 \ PIC4.JPG

我想这是因为合并的单元格,但我无法弄清楚问题。

如果我将范围替换为单元格,

For Each cella In .Range("A53,a73,a102,a122").Cells

一切都按预期工作。

0 个答案:

没有答案