我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
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键并拖动对象的边框,可以快速调整尺寸适应单元格大小。
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08