Daryl,
Welcome to the forum!
Give ths a try:
Sub tgr()
Const strPicPath As String = "C:\Test\Pic.jpg" 'The full path the to the image file
Const strFldrPath As String = "C:\Test" 'The folder path where the templates will be saved
Dim arrSaveName As Variant
Dim oPic As Object
Dim NameIndex As Long
Dim lPicWidth As Long
Dim lPicHeight As Long
arrSaveName = Sheets(1).Range("A1", Sheets(1).Cells(Rows.Count, "A").End(xlUp)).Value
If Not IsArray(arrSaveName) Then Exit Sub
Set oPic = LoadPicture(strPicPath)
lPicWidth = Round(oPic.Width / 26.4588, 0)
lPicHeight = Round(oPic.Height / 26.4588, 0)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo CleanExit
For NameIndex = 1 To UBound(arrSaveName, 1)
Sheets.Add.Move
With ActiveWorkbook
.Sheets(1).Shapes.AddPicture strPicPath, msoFalse, msoTrue, 0, 0, lPicWidth, lPicHeight
.Sheets(1).Name = arrSaveName(NameIndex, 1)
.SaveAs strFldrPath & "\" & arrSaveName(NameIndex, 1) & ".xls", xlNormal
.Close False
End With
Next NameIndex
CleanExit:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
If Err Then
MsgBox Err.Description, , Err.Number
Err.Clear
End If
Erase arrSaveName
Set oPic = Nothing
End Sub
Bookmarks