Excel中如何实现图片自动插入
一、前提条件
在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判断员工照片是否存在
xcel函数的问题,求大神帮忙。(图)需要在K列显示B2:J18对应行红色加粗数...
用RANK函数可以实现这一要求,可是你标红的数字不是固定的,没有什么规律 就需要每个公式都要更改参数,有点麻烦
Excel图表坐标轴如何设置为日期
xcel中将数据设置为图表的时候,发现日期和数据对不上,该怎么将坐标轴设置为制定日期呢?下面就跟我一起看看吧。Excel 图表坐标轴设置为日期的 方法 一 通过选择数据来实现坐标轴的设置 1、点击图表工具——选择数据,来实现坐标轴的设置。2、如图所示,更改轴标签区域,选择日期,来...
如何设置xcel同一个单元格中的几个数字加特定公式计算,另一个单元格...
只需在A1中前面不输入=号,即输入500×500×30×0.00000785,在要显示计算结果的单元格中如B1中输入=500×500×30×0.00000785即可。
xcel 随机函数问题: 我在a1中输入=int(rand()*10,回车后随机出现一个...
建议你在A1中输入:=int(rand()*10),在B1中输入:=if(a1=5,1,0),然后选中A1、B1单元格,向下拖动,假设你要设置50个随机数,就拖到B50,然后在B51中输入:=sum(B1:B50)B51中的数字就是你要的结果
在EXCEL表格里,怎么提取某一单元格中的一部分文字
xcel表格中文字和数字如何分离提取?这样做再也不用一个个敲了
艾克赛尔的美国企业
环保、易安装的“永久型”栅栏精品。2008年,XCEL(美国协成公司)为适应栅栏行业和公司的快速发展,满足市场需求,在江苏金坛成立协成(江苏)安全护栏有限公司。引进先进的生产流水线,严格按照美国ASTM的标准生产。产品广泛应用到路政建设、厂矿、园区、建筑、桥梁等大型公众服务性设施中。公司在北美洲、...
EXCEL表格一个单元格同时链接两个文件
XCEL表格一个单元格一次只能设置一个链接,如果设置第二个则会自动覆盖前面的设置。解决方法:可以把相邻的两个单元分别设置成所需的2个不同链接。操作方法:1、首先点击其中一个单元格并选择工具栏中的“插入”选项。2、然后点击“插入”选项卡中的“链接”图标。3、进入选择需要链接的对象的对话框,...
如何让ELXCEL表点击自动加一,例如是21,我点了一下21就可以变成22_百度...
对单独的一个单元格,可以用“插入→工具栏→窗体→微调项”功能,在页面中画一个“上下箭头”的微调按钮,右击按钮执行“设置控件格式”命令,在“控制”选项中设置“最小值”、“最大值”、“步长”、“单元格链接”(假如A2),“确定”即可。如果是一个数据列或者是区域,应该考虑用VBA功能来实...
请尊敬高手解决XCEL的输入单元格外形转换问题
由于题目中没有行号和列标,只好按我这边的举例了,不能完全实现题目中要求的效果,只能做到以下的形式:B1公式右拉再下拉:(支持9位数字)=LEFT(RIGHT(" "&$A1,10-COLUMN(A1)))公式中的数字10是控制支持数字的位数,如数字长度为9位+1位=10,如果要技持12位的,则12+1=13,把公式中的10改...
如何用签名xcel文档
Word Excel文档电子签名是怎么操作的?随着不断深化的信息化进程,大部分企业都基本上实现了网上办公,因此在日常工作中就需要在网络上传递大量的word、excel文档,所以保证传递中的文档信息安全至关重要。电子签名技术的推广和应用,不仅解决了数据信息的完整性、真实性和可靠性的问题,更在一定程度上推动了...
鱼忽凯保: 假设当前表格为“Sheet1”,单元格A1为序号或人名,单元格B1为照片区. 照片文件与序号或人名必须一一对应,文件名为“1.jpg”、“2.jpg”......或“ 张三.jpg”、“李四.jpg”......,保存目录为“e:\人名”. 先将单元格B1的字体颜色选为...
振兴区15120167703: EXCEL表如何自动导入图片.?
鱼忽凯保: 可以参考下这个: 员工厂牌格式_竖式导入图片 http://www.exceltip.net/thread-25033-1-1-873.html
振兴区15120167703: Excel2007如何自动插入图片并根据该单元格自动调整大小 - ?
鱼忽凯保: =“<table><img src=""图片所在路径名\"&图片名称所在单元格&".jpg"">” 复制,并在剪贴板重新粘贴,选择性粘贴Unicode文本,即可完成插图 调整大小:Ctrl+G定位到对象,“属性”里面可设置让图片根据单元格自动调整大小
振兴区15120167703: Excel中怎么利用宏使在一个单元格输入内容后自动插入图片 - ?
鱼忽凯保: 你的目的是想像人事管理那样,输入一个名字,后面一个格子就出来一个头像用宏可以实现,给你提供解决思路1、监测CHANGE过程,当某列特殊单元格(如姓名)变化...
振兴区15120167703: excel表格里单元格插入图片,有什么方法能让图片自动适应单元格大小呢? - ?
鱼忽凯保: 打开Excel,点击“图像工具”,然后点击“导入图像”(这里的导入图像是批量插入图像的含义),点击右边的“添加”按钮,并添加图像以插入Excel. 导入模式,选择第一个,并将每行中的图片数量设置为1.如果您想在图片中插入两列,...
振兴区15120167703: 如何在EXCEL表格中 在其中一个单元格中输入名称,然后另一个单元格中便自动插入相应的图片,并且图片自动符合单元格大小.希望高手不惜赐教,指导清除.定重谢. - ?
鱼忽凯保: 可以通过VBA来实现.道先确定你放入图片单元格的行高和行宽数据,然后可能决定图片的大小.写代码和调试需要时间.
振兴区15120167703: EXCEL批量自动插入图片的宏,由列内单元格内容从图片文件夹中自动插入 - ?
鱼忽凯保: Sub InsertPic()Dim i As Long, sPath As String, sfileName As StringsPath = "D:\pic\"Application.ScreenUpdating = FalseOn Error Resume NextWith ThisWorkbook.Sheets("Sheet1")For i = 1 To 256If .Cells(1, i) <> "" Then...
振兴区15120167703: excel怎么批量插入图片,一张一单元格,且自动调整固定大小...教教菜鸟小女子我吧...哎..?
鱼忽凯保: 楼主说得好清楚啊.给你整一个步骤吧,你不需要懂那些宏代码什么意思,按以下步骤操作就可以了: STEP1:把你要插入的图片文件检查一下是否都是同一种格式.(例如BMP格式,或JPG格式,或PNG格式等,只放一种) STEP2:把这些图片文件放在'E:\PIC\下面. STEP3:打开EXCEL,然后按下ALT+F11,点菜单中的'插入',然后点'模块'.这时把下面那段宏代码提现到代码框. STEP4:按F5,会跳出一个输入框,默认的是JPG格式的图片文件,如果你的图片不是JPG格式,请输入其他的格式,注意是文件名的后缀,三个字母.最后点确定,大功告成. 呵呵,如果代码有错,就要找楼主了.
振兴区15120167703: 怎么样在EXCEL中的快速插入多个图片,并保存相对应的图片名称呢??
鱼忽凯保: 能够实现的批量插入图片到单元格. 1.首先设置一下,B列单元格的行高列宽,使其大小比列正常可以放置照片; 2.视图-常用工具栏-勾选绘图.在绘图工具栏选择绘图菜单,自动对齐,勾选对齐到网格. 3.选择B列需要插入的图片的第一个单元格,例如B2, 插入-图片-来自文件,按着Ctrl和Shift来选择52张图片,确定 4.Ctrl+G,定位条件,对象,确定 5.绘图工具栏-绘图菜单,对齐或分布,左对齐 6.Ctrl+1,大小,去掉锁定纵横比的对勾, 设置宽度和高度(大小可以随意写,统一即可) 7.调整图片高度宽度,让其和B列单元格重合, (由于勾选了对齐到网格,对齐比较容易)
振兴区15120167703: excel怎么批量导入照片 - ?
鱼忽凯保: 将记事本中的文本全选进行复制,在Excel工作表中,右击“照片”列第一行,从弹出的右键菜单中选择“选择性粘贴”项.在弹出的“选择性粘贴”窗口中,选中“Unicode文本”项,直接点击“确定”按钮.最后就会发现相关的照片自动插入到“照片”所在单元格啦.