Welcome to the Forum.
There are many threads on this Forum with examples of how to insert pictures onto a worksheet.
Assuming your filenames (complete path and filename in this format):
are listed in column C beginning in row 1 on Sheet1, the following macro will insert 4 pictures on each worksheet. Your pictures may have various formats and may not completely fit within the width of your printed worksheet, but you can adjust the sheet margins in the print preview dialog box and get the best fit. If you uncomment (remove the single quote at the beginning) the line of code in red font,
the pictures will be made to fit width wise as well as vertically. You may want to leave it commented out... that seemed to work better with the pictures I tested.
I set the right margin to '0.2' and left margin to '0.45' and the column widths to 48 for columns A and B. You can adjust those for yourself if needed.
As I said earlier, there are many examples of how to insert and adjust the picture size and spacing in your worksheet. You'll just have to do some searching and testing to see what works best for you.
Enter the code into a standard code module, then save as a macro enabled workbook. Try this on a copy of your workbook first so you don't lose anything important.
Code:Sub IMAGE() Dim Rng As Range Dim Cell As Range Dim Pic As Picture Dim s As Long Dim col, rw As Integer Application.ScreenUpdating = False For Each sh In Sheets("Sheet1").Shapes 'Deletes existing pictures from Sheet1 sh.Delete Next sh LR = Cells(Rows.Count, "C").End(xlUp).Row For rw = 1 To LR Step 2 Rows(rw).RowHeight = 200 'Sets the vertical size of pictures, adust to suit Next rw For rw = 2 To LR Step 2 Rows(rw).RowHeight = 100 'Sets the vertical distance between sets of pictures, adust to suit Next rw Columns("A:A").ColumnWidth = 48 'Pictures will be in columns A & B Columns("B:B").ColumnWidth = 48 Set Rng = Range("C1:C" & Range("C" & Rows.Count).End(xlUp).Row) 'URLs or complete path and filename will be in column C s = 1 For Each Cell In Rng If Application.IsEven(s) Then 'Sets up the offset to insert picture in Column A or B col = 1 rw = 1 Else col = 2 rw = 0 End If With Cell On Error Resume Next Set Pic = .Parent.Pictures.Insert(.Value) If Err <> 0 Then Err.Clear Else With .Offset(-rw, -col) Pic.Top = .Top Pic.Left = .Left Pic.Height = .Height 'Pic.Width = .Width End With End If On Error GoTo 0 End With s = s + 1 Next Cell Application.ScreenUpdating = True ActiveWorkbook.Save End Sub