In the attached click the only button there is.
The code:
Sub blah()
PictureFileAndPath$ = Application.GetOpenFilename()
InsertPictureInRange PictureFileAndPath, Sheets("Cover").Range("D6:H13")
InsertPictureInRange PictureFileAndPath, Sheets("Doc 2").Range("D7:H14")
InsertPictureInRange PictureFileAndPath, Sheets("Doc 2").Range("B21:E28")
'add as many lines as you want the same picture inserted
End Sub
Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
' inserts a picture and resizes it to fit the TargetCells range
Dim p As Object, t As Double, l As Double, w As Double, h As Double
If TypeName(TargetCells.Parent) <> "Worksheet" Then Exit Sub
'If Dir(PictureFileName) = "" Then Exit Sub
' determine positions
With TargetCells
t = .Top
l = .Left
w = .Offset(0, .Columns.Count).Left - l
h = .Offset(.Rows.Count, 0).Top - t
End With
' import picture
Set p = TargetCells.Parent.Pictures.Insert(PictureFileName) 'this line will insert a linked picture.
'Set p = TargetCells.Parent.Shapes.AddPicture(PictureFileName, msoFalse, msoTrue, l, t, -1, -1)'this line will insert a picture without a link and save it with the file.
' position picture
With p
If .Width > w Then .Width = w
If .Height > h Then .Height = h
.Top = t + (h - .Height) / 2
.Left = l + (w - .Width) / 2
End With
Set p = Nothing
End Sub
The calling code attached to the button:
Private Sub CommandButton1_Click()
blah
End Sub
Note that the Pictures.Insert you use links to the file; if you send the workbook to someone else without the same file structure/file you'll get no logo. In the code, there's a commented out Set p = line to replace yours which will save the picture with the file and there'll be no link.