Excel批量导入图片的方法实例教程

网友投稿 1010 2022-12-02

excel批量导入图片的方法实例教程

excel批量导入图片一般是使用VBA代码实现,因为excel功能的局限性,插入——图片,尽管可以批量导入图片,但不能自动排版。

文章总结几个excel批量导入图片相关的案例,分享给大家。

excel批量导入图片案例一:

如下图所示:A列是姓名,D列需要批量导入A列姓名对应的照片,当单击“图片导入”按钮,即可批量导入图片。

下面的代码实现的功能是:批量导入图片,然后按照原比例缩放以填充单元格,如果单元格高宽改变,再次单击“图片导入”按钮即可。

Excel批量导入图片的方法实例教程

说明:对应的图片命名需要和姓名一致,图片文件夹和excel源文件放在同一路径之下。

下面是具体的代码:

Sub 批量导入图片()‘将图片导入。‘图片按照原比例存储,按照原比例存储On Error Resume NextDim R&Dim Pic As Object‘先删除所有可能存在的图片For Each Pic In Sheet1.ShapesIf Pic.Name <> Sheet1.Shapes("按钮 97").Name ThenPic.DeleteEnd IfNextFor 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) / 2End IfEnd WithNext REnd Sub

我们在excel对图片进行排版时,可以选中图片,勾选对齐网格,以及在插入图片或控件时,按住Alt键并拖动对象的边框,可以快速调整尺寸适应单元格大小。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Excel VBA中让你意想不到的陷阱
下一篇:Excel VBA中的Date类型的匹配问题
相关文章