高效如风 Excel表格批量导入图片

CFan 电脑爱好者 2019-01-24 08:31应用 标签:表格 图片

在日常工作中,我们经常要将一些照片插入到Excel表格中,比如HR制作花名册,需要将员工照片插入到对应员工姓名行中;制作产品图册,需要插入对应产品的图片等。如何快速高效地插入图片至关重要。

如果需要插入的图片不多,可以使用手动的方法快速插入。先在Excel中输入员工姓名数据,点击“插入→图片→来自文件”,插入一张和员工对应的照片到B2。调整B2的大小和照片大小一致(可以略微大一些)。接着全选数据行列,使用鼠标调整行列数值,使得B列所有单元格都能够放置图片。

定位到B2,点击“插入→图片”,然后按住Ctrl键选中需要插入的图片(选择图片的顺序要和姓名列员工的顺序一致),这样所有图片都可以插入到表格中。选中最后一张插入的照片,将其移动到对应的B列位置。按住Ctrl+A全选照片,点击“图片工具→格式→组合”,依次进行“左对齐”和“纵向分布”即可。

1801A-DRTP-1

如果需要插入的图片很多,那么还可以借助VBA脚本快速实现。首先将照片名称更改为与A列中对应的员工姓名一一对应。接着点击“开发工具→VB”。在打开的窗口输入如下代码(代码解释见语句之后半角单引号后的注释)。

Sub 批量插入图片()

Dim cfan As String '设置一个名为cfan字符串,将其作为图片路径变量

Dim rng As Range

Sheets("SHeet1").Select '选中要插入图片的工作表

x = [a65536].End(xlUp).Row '取得最后一行的行号

For i = 2 To x

na = Cells(i, 1) '从第1列(即A列)得到图片名称,并以此名查找指定位置的图片

cfan = "e:\员工照片" & "\" & na & ".png" '指定图片实际保存位置和格式

If Dir(cfan) <> "" Then

Cells(i, 2).Select '图片需要插入到第2列

ActiveSheet.Pictures.Insert(cfan).Select

Set rng = Cells(i, 2) '根据单元格的大小调整图片

With Selection

.Top = rng.Top + 1

.Left = rng.Left + 1

.Width = rng.Width - 1

.Height = rng.Height - 1

End With

End If

Next

End Sub

这样,在Excel中会新增一个名为“批量插入图片”的宏,按提示运行这个宏,即可将所有照片按照员工名称插入到B列对应的单元格中。

1801A-DRTP-2