Excel批量导入图片的方法实例教程
- 2023-02-17
- 来源/作者: Wps Office教程网/ 菜鸟图库
- 241 次浏览
excel批量导入图片一般是使用VBA代码实现,因为excel功能的局限性,插入——图片,尽管可以批量导入图片,但不能自动排版。
文章总结几个excel批量导入图片相关的案例,分享给大家。
excel批量导入图片案例一:
如下图所示:A列是姓名,D列需要批量导入A列姓名对应的照片,当单击“图片导入”按钮,即可批量导入图片。
下面的代码实现的功能是:批量导入图片,然后按照原比例缩放以填充单元格,如果单元格高宽改变,再次单击“图片导入”按钮即可。
说明:对应的图片命名需要和姓名一致,图片文件夹和excel源文件放在同一路径之下。
下面是具体的代码:
Sub 批量导入图片()
‘将图片导入。
‘图片按照原比例存储,按照原比例存储
On Error Resume Next
Dim R&
Dim Pic As Object
‘先删除所有可能存在的图片
For Each Pic In Sheet1.Shapes
If Pic.Name <> Sheet1.Shapes("按钮 97").Name Then
Pic.Delete
End If
Next
For R = 2 To Range("A65536").End(xlUp).Row
‘插入图片
Set Pic = Sheet1.Pictures.Insert(ThisWorkbook.Path & "\pic\" & Cells(R, 1) & ".jpg")
‘锁定高宽比
Pic.ShapeRange.LockAspectRatio = True
‘看高宽比。如果图片高宽比高,那么调整到单元格高度,否则调整到单元格宽度
‘我们看到的右键格式菜单里的东西都是针对ShapeRange而言的,所以要用ShapeRange来设定
With Pic.ShapeRange
‘如果图片高宽比比单元格大,说明图片太高,只需调整图片高度
If .Height / .Width > Cells(R, 4).Height / Cells(R, 4).Width Then
.Height = Cells(R, 4).Height
‘调整位置
.Top = Cells(R, 4).Top
.Left = Cells(R, 4).Left + (Cells(R, 4).Width – .Width) / 2
‘如果图片高宽比比单元格小,说明图片太宽,只需调整图片宽度
Else
.Width = Cells(R, 4).Width
‘调整位置
.Left = Cells(R, 4).Left
.Top = Cells(R, 4).Top + (Cells(R, 4).Height – .Height) / 2
End If
End With
Next R
End Sub
我们在excel对图片进行排版时,可以选中图片,勾选对齐网格,以及在插入图片或控件时,按住Alt键并拖动对象的边框,可以快速调整尺寸适应单元格大小。