This post will guide you on how to export all images at once from Excel. However, exporting these images can be time-consuming, especially if you have many images spread across different worksheets. This post you will learn how to export all images at once from Excel, saving you time and effort.
Export All Images at Once From Excel Worksheet
If you want to export all images at once from your active workbook in Excel, and you can do the following steps:

Step1: Click on the “File” tab in Excel and select “Save As“.

Step2: In the “Save As” dialog box, select the folder where you want to save the images. Choose “Web Page” from the “Save as type” dropdown menu.

Step3: Check the box next to “Save:” and select “Entire Workbook” radio button, and click on the “Save” button.

Step4: Navigate to the folder where you saved the file, you should see a folder named “xxxxx_files” or something similar. Open that folder.

Step5: All of the images from the Excel file should be in that folder. You can then copy or move the images to another folder as needed.

Export Images and Rename Them with the Adjacent Cell Values
If you want to export images and rename them with the adjacent cell values, and you can use VBA code to achieve the result, just do the following steps:
Step1: you can press Alt +F11 shortcut to open the Microsoft VBA editor.

Step2: In the Microsoft VBA editor, insert a new module by clicking “Insert” -> “Module” from the drop-down menu list.

Step3: copy and paste the following VBA code into the new module window.

Sub ExportImages_excelgeek()
Dim cell As Range
Dim shp As Shape
Dim chartObj As ChartObject
Dim path As String
Dim fileName As String
Dim fd As FileDialog
Dim xImg As Shape
path = "C:\Users\Images\" 'Change the path to your desired location
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
fd.AllowMultiSelect = False
fd.Title = "Select a folder to save images"
If fd.Show = True Then
path = fd.SelectedItems(1) & "\"
Else
Exit Sub
End If
For Each oneImg In ActiveSheet.Shapes
If oneImg.Type = msoPicture Then
fileName = oneImg.TopLeftCell.Offset(0, -1).Value & ".jpg" 'Change the offset to match the adjacent cell where the name is located
If fileName <> "" Then
oneImg.Select
Selection.Copy
With ActiveSheet.ChartObjects.Add(0, 0, oneImg.Width, oneImg.Height)
.Activate
ActiveChart.Paste
.Chart.Export path & fileName
.Delete
End With
End If
End If
Next
End Sub
Step4: Modify the offset value to match the adjacent cell where the name is located.
Step5: Press “F5” to run the VBA code or press “Alt + F8” to open Macro dialog box, and select “ExportImages_excelgeek” Macro name, then click on Run button.

Step6: select a folder to save images, click on Ok button.

Step7: The code will loop through each image in the current worksheet, copy it, and export it as a JPEG file with the name from the adjacent cell.
