EXCEL批量导出图片
1、先打开一个EXCEL,如下表所示:

2、点击任意图片,右键,如下:我们找不到另存功能

3、看看人家Word

4、看看人家PPT

5、那么怎么将EXCEL中的图片另存为图片文件呢?
第一种方法:上面其实已经给出了答案:你品,你细品,EXCEL说:这个我不擅长,你去找WORD或PPT吧,你跟谁熟,就找谁帮忙。
第二种方法:也比较简单,将EXCEL另存为网页版文件

6、找到.files文件夹,发现所有的图片都在这里

7、第三种方法:VBA
Alt+F11打开VBA编辑器,新建模块,输入下列代码:
Sub 批量导出图片()
Dim shp As Shape
With ActiveSheet
For Each shp In ActiveSheet.Shapes
shp.Copy
shp_name = shp.TopLeftCell.Offset(0, -1).Value
With .ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart
.Parent.Select
.Paste
.Export ThisWorkbook.Path & "\" & shp_name & ".jpg"
.Parent.Delete
End With
Next
End With
End Sub

8、按F5运行代码:结果如下:图片被批量导出到该文件所在的文件夹,且名称和单元格匹配。

9、代码注解:
Sub 批量导出图片()‘程序名
Dim shp As Shape ‘定义变量
With ActiveSheet ‘当前活动工作表
For Each shp In ActiveSheet.Shapes ‘循环每个图形
shp.Copy ’复制当前图形
shp_name = shp.TopLeftCell.Offset(0, -1).Value ‘获取图片名称为图片左上角单元格往左偏移一个单元格的内容
With .ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart '插入图表
.Parent.Select ’选择图表
.Paste ‘粘贴图片
.Export ThisWorkbook.Path & "\" & shp_name & ".jpg" ’导出图片到当前文件夹,且命名为单元格的名称
.Parent.Delete ‘删除图表
End With '与with成对出现
Next ‘与FOR成对出现
End With '与with成对出现
End Sub '程序结束