我有一个宏,我将图片作为形状插入合并的单元格(基于单元格颜色),然后我用单元格值(它的公式)命名它们。单元格值是图片路径。
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
一切都按预期工作。