在Excel中如何使用VBA根据姓名自动插入照片
发布时间:2022-12-10 07:24:58
今天小编教大家在Excel中如何使用VBA根据姓名自动插入照片。
一、前提条件
在Excel的单元格中,已输入人物的姓名,并且,在姓名的下面,留有空的单元格待插入相应的图片。
如下图一样。比如,B1是姓名,而B3则是要根据张三这个姓名,自动将张三这个人的照片插入到B3中。其它以此类推。

这得使用VBA来完成。
同时,人物的照片所在的文件夹,和Excel工作薄,在相同的路径,比如,下图的位置。

另外,每个员工的照片的名称,都是按照员工的姓名来命名的,如下图。

像这样的问题需求,是具备一定规律的,因此,能使用VBA来完成。
二、实现方法
打开你的Excel,然后执行菜单操作:“工具”→“宏”→“宏”;弹出如下图对话框。

上图中,宏名那里,输入 AutoAddPic ,然后,点击“创建”按钮,弹出代码输入窗口,如下图。

代码如上图,请书写完整,否则会发生异常。为方便大家的学习,下面将代码写为下文,以供参考:
'自动插入图片前,删除所有图片
For Each Shp In ActiveSheet.Shapes
If Shp.Type = msoPicture Then Shp.Delete
Next
Dim MyPcName As String
For i = 1 To ThisWorkbook.ActiveSheet.UsedRange.Rows.Count
If (ActiveSheet.Cells(i, 1).Value = "姓名") Then
MyPcName = ActiveSheet.Cells(i, 2).Value & ".gif"
'MsgBox "图片的完整路径是" & ThisWorkbook.Path & "员工照片" & MyPcName
ActiveSheet.Cells(i + 2, 2).Select '选择要插入图片的单元格作为目标
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
If MyFile.FileExists(ThisWorkbook.Path & "员工照片" & MyPcName) = False Then
MsgBox ThisWorkbook.Path & "员工照片" & MyPcName & "图片不存在"
Else
'在选定的单元格中插入图片
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "员工照片" & MyPcName).Select
End If
End If
Next i
书写完代码以后,点击窗口中的保存,然后关闭代码窗口,返回Excel窗口。
接着,执行菜单操作:“工具”→“宏”→“宏”,弹出如下图。

选中上面所创建的宏名 AutoAddPic ,然后,点击“执行”按钮,这样,Excel就会根据每个姓名找到所对应的照片,将照片插入到每一个人所对应的相应的单元格。
三、知识扩展
ThisWorkbook.ActiveSheet.UsedRange.Rows.Count 该行代码的含义是,获取工作表中的有效数据的最大行。
If (ActiveSheet.Cells(i, 1).Value = "姓名") 判定第一列中的各行,其内容是否为“姓名”二字,是姓名就去找图片来插入,否则就不找。
MyPcName = ActiveSheet.Cells(i, 2).Value & ".gif" 获取每个人的照片名称,如 青山.gif
ThisWorkbook.Path & "员工照片" & MyPcName 获取每个人的照片所在的路径,是完整的绝对路径,而不是相对路径。
ActiveSheet.Cells(i + 2, 2).Select '选择要插入图片的单元格作为目标,即哪个单元格要插入图片,就选中哪个
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "员工照片" & MyPcName).Select '在选定的单元格中插入图片
If MyFile.FileExists(ThisWorkbook.Path & "员工照片" & MyPcName) = False Then 判断员工照片是否存在


猜你喜欢
- 我们在使用这款操作系统的过程中,有时候会在开始菜单中弹出一个建议窗口,这些建议对于我们来说没有太大的用处,因此有很多朋友都想禁止在开始菜单中
- 现代年轻人已经离不开手机、电脑、网络了,手机离了网络还可以使用流量,但是电脑离开了无线网络,除非连接有线宽带,否则电脑就跟个笨重的石头一样没
- 电脑更新升级win10 2004版本系统后,有用户发现系统的控制面板多出了ESC选项,win102004版本控制面板多出ESC选项怎么解决?
- 第一步:确认域名的过期时间查询域名的whois,都可以查到域名的到期日期是什么时候。第二步:查看域名的删除时间通过网上工具,可以查看到域名的
- 通常情况下,很多人接触投屏都是将手机上的内容投到电视上,然后在电视上进行观看进行。其实手机上的内容还可以投屏到电脑上,只是很多人很少接触到,
- 当用户找出两个相似的Excel表格进行编辑,如果一张张编辑可能要分两次来完成,很消耗时间。其实在Excel中又一个并排比较功能能将两个表格同
- 许多使用Win10系统的用户都知道,Win10系统中自带了Edge浏览器,而对于一些老用户来说,edge用着非常的不习惯,那么我们要怎么卸载
- 用户为了改变Excel表格样式想把单元格改成虚线格,不知道该从哪开始设置,下面就教大家制作虚线单元格的方法!教程步骤:打开Excel表格框选
- 一般情况下,win7系统安装之后会自带一些应用程序,桌面也会显示一些图标,比如计算机、回收站等等图标。有些用户疑惑说win7桌面上图标能完全
- 不少朋友在给U盘设置安全权限的时候,发现U盘属性中没有安全选项,这是怎么回事呢?U盘属中没有安全选项怎么办?今天小编就教大家找回U盘属性中安
- 我们每次做好PPT之后储存的格式一般都是默认好的格式,有时候我们就会想在PPT直接转换一个格式,但是如何将PPT文件转换成PDF格式呢?操作
- 苹果在 Mac 的 macOS Mojave 上引入了内置屏幕录制功能。毫无疑问,它在制作教程、取证甚至录制 FaceTime 通话时都派上
- 三指触控怎么设置?Win11系统支持多种触摸板手势的设置,这其中就包含有三指触控,相信在座的还有不少用户不是很了解应该如何设置三指触控,对此
- wps云文档怎样删除?wps office 软件中的wps云文档是非常实用的一个功能,但有时候我们又一时手快想不小心把不要的上传到了云文档上
- 拼图酱怎么设置黑色背景?拼图酱是一款非常受欢迎的图片拼接软件,拼图酱为用户提供了大量的图片模板,用户们可以在里面随意切换模板,那么在拼图酱中
- 很多用户在使用win10系统时,会出现win10ipv4无internet访问权限的问题,其实这个问题进入电脑的网络和共享中心就可以解决啦~
- 你有没有想过为什么在Windows 10电脑上加入Windows Insider计划后,可能需要长达24小时才能切换Windows Insi
- 今天凌晨,苹果给大家推送了 iOS 14.5 和 iPadOS 14.5 开发者预览版 ,本次iOS 14.5Beta 3版本号为 18E5
- 微软已提前更新Windows 10技术预览版,不过更新仅针对目前没有开放给大众下载的Build 9860版本,更新KB3008956,KB3
- 百度翻译app怎么使用?百度翻译是一项免费的在线翻译服务,现支持14种语言,36个语言方向翻译。今天,小编就来跟大家分享百度翻译app使用方