Excel VBA如何根据姓名自动插入照片
发布时间:2022-03-22 07:10:52
一、前提条件
在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判断员工照片是否存在


猜你喜欢
- 大家在打开某些游戏或软件时,有没有遇到提示qt5core.dll丢失,无法启动此程序的问题。这种问题该如何解决呢?其实只要下载一个qt5co
- 本文将为大家详细介绍下为Win8的开始菜单添加休眠功能的具体步骤,感兴趣的朋友可以参考下哈,希望对大家有所帮助适用范围:Windows 8
- ①启动Excel2010,单击菜单栏--插入--SmartArt图形。 ②弹出图形选择界面,我们选择循环标签里面的
- Win10预览版14328中怎么将笔记本变身移动WiFi热点?过去我们通常会使用命令或借助第三方工具开启,但是在这个版本中,我们可以直接制作
- 尽人皆知,WPS表格 翻开 以后, 输出 笔墨的字体都是 默许好了的, 假如改一次在写一次,太 费事, 为什么不 修正 默许的字体呢? 如许
- 系统服务作为计算机系统的重要组成部分,发挥着重要的作用。我们可以通过它来了解系统中正在运行的程序,有哪些服务会在开机时启动。了解这些对我们很
- 在WPS中搜索数据很常见,例如名称、产品代码和电话号码。搜索的效率和准确性取决于您使用的搜索方法。目前,WPS表单提供模糊搜索和精确搜索两种
- 现在距离微软在全球190个国家和地区正式发布Windows 10操作系统已经过去了几天的时间,而BI编辑Matt Weinberger却已经
- 作为腾讯推出的一款可以支持任何格式影片和音乐文件的本地播放器,QQ影音中还内置了不少实用性极强的功能,例如:视频合并、转码压缩、无痕播放等等
- 在wps表格中添加密码的方法:打开WPS表格这款办公软件,进入WPS的操作界面,如图所示: 在这个界面的上面找到W
- win10剪切板记录在哪里找出来?剪切板是系统自带的一块特殊的内存区域,它可以在多个软件之间实现复制和粘贴,那么win10中剪切板记录在哪里
- 显卡驱动是驱动显卡程序,该程序可加快显卡程序的运行速度,而且要使显卡正常使用,必须要为其安装对应的驱动,才能驱动显卡正常工作,但是近期有部分
- 我们我们在使用笔记本电脑的过程中可能有些情况下需要安装一下机械硬盘。那么具体的步骤小编觉得首先要注意在安装硬件设备之前要先切断电源,拔掉电源
- 畅言教学通作为一款专业的教学工具,集备课、上课、班级互动、作业、全方位家校互通等功能于一体,为众多教育工作者提供更好的教学素材及班级管理方式
- ISEVEN函数,此函数如果参数 number 为偶数,返回 TRUE,否则返回 FALSE。今天,我们就来教大家一种利用ISEVEN 函数
- 我们在不同灯光环境下工作的时候可以来环境的明暗来对屏幕进行自动调节,有用户不喜欢自动调节屏幕亮度,想要将其关闭该怎么操作呢?下面小编就为大家
- 不出问题的情况下,只要在开机的时候按F8就可以进入安全模式里面的。但最近,确有Win7系统的用户,电脑开机后按F8无法进入安全模式,这是怎么
- 视频qsv文件怎么打开?qsv是爱奇艺视频独有的一种视频文件格式,只能用爱奇艺视频播放器来打开,我们只要根据以下步骤安装爱奇艺视频即可打开,
- Win10系统中小娜无法搜索Win32桌面程序怎么办?名迷宫桌面就有程序,但是搜索的时候却搜索不倒,该怎么解决呢?今天我们就来看看Win10
- 系统8月10日最新消息,微软于今日发布Win11 22000.856(KB5016629)正式版。此次版本更新带有一些亮点和改进,以及一系列