try modifying this to meet your needs:
Sub Photo_Insert(sWs As String, sPhotoFilePath As String, rTargetRange As Range)
Dim oPhoto As Picture
Set oPhoto = ThisWorkbook.Worksheets(sWs).Pictures.Insert(sPhotoFilePath)
' determine TOP & LEFT positions for the picture
With oPhoto
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.ScaleWidth 0.01, msoTrue, msoScaleFromTopLeft '(first scale the picture to a very small size)
.Placement = xlMoveAndSize
.Height = rTargetRange.Height - 10 ' (then scale it up to slightly less than the Merge Range Height)
.Top = rTargetRange.Top + 5 '(this should take care of vertical centering)
.Left = rTargetRange.Left + ((rTargetRange.Width - .Width) / 2) '(this should take care of the horizontal centering)
End With
Set oPhoto = Nothing
End Sub
Bookmarks