计算机教程:类似这样的问题
一.先决条件
在Excel的单元格中,已经输入了人的名字,在名字下有空单元格插入对应的图片。
如下图所示。比如B1是名字,而B3是根据张三的名字自动将张三的照片插入B3。等等。
这必须使用VBA来完成。
同时,人物照片所在的文件夹与Excel工作簿的路径相同,例如下面的位置。
另外,每个员工照片的名字都是以员工的名字命名的,如下图所示。
计算机课
像这样的问题有一定的规律性,可以用VBA来完成。
二、实施方法
打开你的Excel,然后执行菜单操作:工具宏宏;弹出如下对话框。
在上图中,宏名所在的位置,输入AutoAddPic,然后点击“创建”按钮,弹出代码输入窗口,如下图所示。
请完整地按照上面所示编写代码,否则会出现异常。为了方便大家学习,下面的代码写成如下供参考:
自动插入图片前删除所有图片。
对于活动表中的每个Shp。形状
如果Shp。Type=msoPicture然后是Shp。删除
然后
将“我的姓名”设为字符串
对于此工作簿,i=1。活动工作表。使用范围。行数。计数
If (activesheet。细胞(I,1)。值='名称')然后
MyPcName=ActiveSheet。细胞(I,2)。价值。gif '
“MsgBox”图片的完整路径是“ThisWorkbook”。路径'员工照片' MyPcName '
活动纸。细胞(i 2,2)。选择“选择要插入图片的单元格作为目标”。
将我的文件作为对象变暗
设置我的文件=创建对象('脚本。文件系统对象')
我的文件。文件存在(此工作簿。路径“员工照片”MyPcName)=False然后
Gboxthisworkbook.path '员工照片' MyPcName '图片不存在'
其他
在选定的单元格中插入图片。
active sheet . pictures . insert(this workbook . path ' employee photo ' my PCname)。挑选
如果…就会结束
如果…就会结束
接下来我
写完代码后,点击窗口中的保存,然后关闭代码窗口,返回Excel窗口。
然后执行菜单操作:工具宏宏,弹出下图。
选择上面创建的宏名AutoAddPic,然后点击“执行”按钮,这样Excel就会根据每个名字找到对应的照片,并将照片插入到每个人对应的单元格中。
第三,知识扩展
此工作簿.活动工作表.使用范围.行数.计数此行代码表示在工作表中获取有效数据的最大行数。
If (activesheet。细胞(I,1)。value=' name ')确定第一列中每行的内容是否为单词' name '。如果是名字,找图片插入,否则找不到。
Mypc name=activesheet.cells (i,2)。值。' gif '获取每个人的照片名称,如青山. gif
此工作簿。路径‘员工照片’MyPcName是拍摄所有人照片的路径,是完整的绝对路径,不是相对路径。
活动纸。细胞(i 2,2)。选择“选择要插入图片的单元格作为目标”,即选择要插入图片的单元格。
active sheet . pictures . insert(this workbook . path ' employee photo ' my PCname)。“选择”在选定的单元格中插入图片。
my file . file exists(this workbook . path '员工照片' MyPcName)=False然后判断员工照片是否存在。
版权声明:计算机教程:类似这样的问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。