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