Te anexo la macro completa
Sub InsertarFotos()
'Por.Dante Amor
'
ruta = ThisWorkbook.Path & "\"
ChDir ruta
'
Sheets("IMS 180215").Select
ActiveSheet.DrawingObjects.Delete
Application.ScreenUpdating = False
Columns("L:BZ").ClearContents
Columns("L:BZ").ColumnWidth = 25
'
u = Range("B" & Rows.Count).End(xlUp).Row
For i = 2 To u
If InStr(1, Cells(i, "B"), "FAMILIA") > 0 Then
fila = i
inicial = i + 1
Final = 0
For m = inicial To u
If InStr(1, Cells(m, "B"), "FAMILIA") > 0 Then
Final = m - 2
Exit For
End If
Next
If Final = 0 Then Final = u
imagen = False
col = 12
nimagen = 0
End If
If imagen = False Then
For Each c In Range("G" & inicial & ":K" & Final)
'
unaimagen = False
nombre = c.Value
If c.Value <> "" Then
archivos = Dir("*.*")
Do While archivos <> ""
If InStr(1, archivos, c.Value) > 0 Then
If imagen <> "" Then
If InStr(1, imagen, ".xls") = 0 Then
imagen = archivos
On Error Resume Next
Set etiqueta = ActiveSheet.Pictures.Insert(archivos)
With etiqueta
.ShapeRange.LockAspectRatio = msoFalse
.Left = Cells(fila, col).Left
.Top = Cells(fila, col).Top
.Height = Range(Cells(fila, col), Cells(fila + 5, col)).Height 'alto imagen
.Width = Cells(fila, col).Width 'ancho imagen
End With
On Error GoTo 0
col = col + 1
nimagen = nimagen + 1
Exit Do
End If
End If
End If
archivos = Dir()
Loop
End If
Next
End If
Next
Application.ScreenUpdating = True
MsgBox "Imágenes actualizadas", vbInformation
End Sub